# ACameraManager_ExtendedAvailabilityListener

A listener for camera devices becoming available/unavailable to open or when the camera access permissions change.

## Summary

Cameras become available when they are no longer in use, or when a new removable camera is connected. They become unavailable when some application or service starts using a camera, or when a removable camera is disconnected.


**See also:**
[ACameraManager_registerExtendedAvailabilityCallback](https://developer.android.com/ndk/reference/group/camera#group___camera_1gac11dd1c6f8b0f26b9205e9a6440903eb)

| ### Public attributes ||
|---|---|
| `https://developer.android.com/ndk/reference/struct/a-camera-manager-extended-availability-listener#struct_a_camera_manager___extended_availability_listener_1a567adb467afd731495302205855b5082` | `https://developer.android.com/ndk/reference/group/camera#group___camera_1ga90da3da4897015770cd73989e1d6e70e` Called when a camera becomes available or unavailable. |
| `https://developer.android.com/ndk/reference/struct/a-camera-manager-extended-availability-listener#struct_a_camera_manager___extended_availability_listener_1ae6da8786119f4a2c796b39c687129240` | `https://developer.android.com/ndk/reference/group/camera#group___camera_1gafc022bc828fcadb0b5403b6c14962495` Called when there is camera access permission change. |
| `https://developer.android.com/ndk/reference/struct/a-camera-manager-extended-availability-listener#struct_a_camera_manager___extended_availability_listener_1a6c481e6fd0246c59b9243d7ee48ce225` | `https://developer.android.com/ndk/reference/group/camera#group___camera_1gabad68ee9f8472a1b9096d9d1d9592432` Called when a physical camera becomes available. |
| `https://developer.android.com/ndk/reference/struct/a-camera-manager-extended-availability-listener#struct_a_camera_manager___extended_availability_listener_1ac34ec58f68bff80b7fdaf473d35f847e` | `https://developer.android.com/ndk/reference/group/camera#group___camera_1gabad68ee9f8472a1b9096d9d1d9592432` Called when a physical camera becomes unavailable. |
| `https://developer.android.com/ndk/reference/struct/a-camera-manager-extended-availability-listener#struct_a_camera_manager___extended_availability_listener_1ac858e8fc197ad30291b473e16a67cc85[4]` | `void *` Reserved for future use, please ensure that all entries are set to NULL. |

## Public attributes

### availabilityCallbacks

Declared in `camera/NdkCameraManager.h`

```scdoc
ACameraManager_AvailabilityCallbacks ACameraManager_ExtendedAvailabilityListener::availabilityCallbacks
```
Called when a camera becomes available or unavailable.

### onCameraAccessPrioritiesChanged

Declared in `camera/NdkCameraManager.h`

```scdoc
ACameraManager_AccessPrioritiesChangedCallback ACameraManager_ExtendedAvailabilityListener::onCameraAccessPrioritiesChanged
```
Called when there is camera access permission change.

### onPhysicalCameraAvailable

Declared in `camera/NdkCameraManager.h`

```scdoc
ACameraManager_PhysicalCameraAvailabilityCallback ACameraManager_ExtendedAvailabilityListener::onPhysicalCameraAvailable
```
Called when a physical camera becomes available.

### onPhysicalCameraUnavailable

Declared in `camera/NdkCameraManager.h`

```scdoc
ACameraManager_PhysicalCameraAvailabilityCallback ACameraManager_ExtendedAvailabilityListener::onPhysicalCameraUnavailable
```
Called when a physical camera becomes unavailable.

### reserved

Declared in `camera/NdkCameraManager.h`

```scdoc
void * ACameraManager_ExtendedAvailabilityListener::reserved[4]
```
Reserved for future use, please ensure that all entries are set to NULL.