# CameraUnavailableException

Artifact: [androidx.camera:camera-core](https://developer.android.com/jetpack/androidx/releases/camera) [View Source](https://cs.android.com/search?q=file:androidx/camera/core/CameraUnavailableException.java+class:androidx.camera.core.CameraUnavailableException) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

*** ** * ** ***


```
public class CameraUnavailableException extends Exception
```

<br />

|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||||
| ↳ | [kotlin.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) |||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception.html) ||
|   |   | ↳ | [androidx.camera.core.CameraUnavailableException](https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException) |

*** ** * ** ***

`CameraUnavailableException` is thrown when a camera device could not be queried or opened or if the connection to an opened camera device is no longer valid.

## Summary

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CAMERA_DISABLED() = 1` The camera is disabled due to a device policy, and cannot be opened. |
| `static final int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CAMERA_DISCONNECTED() = 2` The camera device is removable and has been disconnected from the Android device, or the camera service has shut down the connection due to a higher-priority access request for the camera device. |
| `static final int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CAMERA_ERROR() = 3` The camera device is currently in the error state. |
| `static final int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CAMERA_IN_USE() = 4` The camera device is in use already. |
| `static final int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CAMERA_MAX_IN_USE() = 5` The system-wide limit for number of open cameras or camera resources has been reached, and more camera devices cannot be opened. |
| `static final int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CAMERA_UNAVAILABLE_DO_NOT_DISTURB() = 6` The camera is unavailable due to `https://developer.android.com/reference/android/app/NotificationManager.Policy.html`. |
| `static final int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CAMERA_UNKNOWN_ERROR() = 0` Some other error occurred. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CameraUnavailableException(int)(int reason)` |
| `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CameraUnavailableException(int,java.lang.Throwable)(int reason, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Throwable.html cause)` |
| `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CameraUnavailableException(int,java.lang.String)(int reason, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html message)` |
| `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#CameraUnavailableException(int,java.lang.String,java.lang.Throwable)( int reason, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/String.html message, @https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Throwable.html cause )` |

| ### Public methods |
|---|---|
| `int` | `https://developer.android.com/reference/androidx/camera/core/CameraUnavailableException#getReason()()` The reason the camera is unavailable. |

### Inherited methods

From [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) `synchronized final void` `https://developer.android.com/reference/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html exception)` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#fillInStackTrace()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#getCause()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getLocalizedMessage()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getMessage()()` `StackTraceElement[]` `https://developer.android.com/reference/java/lang/Throwable.html#getStackTrace()()` `synchronized final Throwable[]` `https://developer.android.com/reference/java/lang/Throwable.html#getSuppressed()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#initCause(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html cause)` `void` `https://developer.android.com/reference/java/lang/Throwable.html#printStackTrace()()` `void` `https://developer.android.com/reference/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])(StackTraceElement[] stackTrace)` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#toString()()`

## Constants

### CAMERA_DISABLED

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public static final int CAMERA_DISABLED = 1
```

The camera is disabled due to a device policy, and cannot be opened.

### CAMERA_DISCONNECTED

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public static final int CAMERA_DISCONNECTED = 2
```

The camera device is removable and has been disconnected from the Android device, or the camera service has shut down the connection due to a higher-priority access request for the camera device.

### CAMERA_ERROR

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public static final int CAMERA_ERROR = 3
```

The camera device is currently in the error state.

The camera has failed to open or has failed at a later time as a result of some non-user interaction.

### CAMERA_IN_USE

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public static final int CAMERA_IN_USE = 4
```

The camera device is in use already.

### CAMERA_MAX_IN_USE

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public static final int CAMERA_MAX_IN_USE = 5
```

The system-wide limit for number of open cameras or camera resources has been reached, and more camera devices cannot be opened.

### CAMERA_UNAVAILABLE_DO_NOT_DISTURB

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public static final int CAMERA_UNAVAILABLE_DO_NOT_DISTURB = 6
```

The camera is unavailable due to `https://developer.android.com/reference/android/app/NotificationManager.Policy.html`. Some API 28 devices cannot access the camera when the device is in "Do Not Disturb" mode. The camera will not be accessible until "Do Not Disturb" mode is disabled.

| See also |
|---|---|
| `https://developer.android.com/reference/android/app/NotificationManager.html#getCurrentInterruptionFilter()` |   |
| `https://developer.android.com/reference/android/app/NotificationManager.html#ACTION_INTERRUPTION_FILTER_CHANGED` |   |

### CAMERA_UNKNOWN_ERROR

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public static final int CAMERA_UNKNOWN_ERROR = 0
```

Some other error occurred.

## Public constructors

### CameraUnavailableException

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public CameraUnavailableException(int reason)
```

### CameraUnavailableException

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public CameraUnavailableException(int reason, @Nullable Throwable cause)
```

### CameraUnavailableException

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public CameraUnavailableException(int reason, @Nullable String message)
```

### CameraUnavailableException

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public CameraUnavailableException(
    int reason,
    @Nullable String message,
    @Nullable Throwable cause
)
```

## Public methods

### getReason

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/camera#1.0.0)

```
public int getReason()
```

The reason the camera is unavailable.