Send feedback
Use the device's flash unit on Android SDK (Kotlin/Java)
Stay organized with collections
Save and categorize content based on your preferences.
Enabling the device's flash unit during an AR session can help improve
visibility.
Check that the current camera configuration supports flash
Not all camera configurations support enabling a flash unit.
Before enabling the flash or offering users the option to enable the flash,
ensure that the flash unit is available for the active camera
configuration:
Java
boolean flashAvailable ;
try {
CameraManager cameraManager =
( CameraManager ) context . getSystemService ( Context . CAMERA_SERVICE );
CameraCharacteristics characteristics =
cameraManager . getCameraCharacteristics ( session . getCameraConfig (). getCameraId ());
flashAvailable = characteristics . get ( CameraCharacteristics . FLASH_INFO_AVAILABLE );
} catch ( Exception e ) {
flashAvailable = false ;
}
Kotlin
val flashAvailable =
runCatching {
val cameraManager = context . getSystemService ( Context . CAMERA_SERVICE ) as CameraManager
val characteristics = cameraManager . getCameraCharacteristics ( session . cameraConfig . cameraId )
characteristics . get ( CameraCharacteristics . FLASH_INFO_AVAILABLE )
}
. getOrNull () ?: false
Enable the flash unit
Enable the flash unit by configuring the AR session with
Config.FlashMode.TORCH
:
Java
if ( flashAvailable ) {
Config config = session . getConfig ();
config . setFlashMode ( Config . FlashMode . TORCH );
session . configure ( config );
}
Kotlin
if ( flashAvailable ) {
session . configure ( session . config . apply { flashMode = Config . FlashMode . TORCH })
}
Note: Configuring Config.FlashMode.TORCH
with a camera configuration
that does not support a flash unit will have no effect.
Disable the flash unit
Disable the flash unit by configuring the AR session with
Config.FlashMode.OFF
:
Java
Config config = session . getConfig ();
config . setFlashMode ( Config . FlashMode . OFF );
session . configure ( config );
Kotlin
session . configure ( session . config . apply { flashMode = Config . FlashMode . OFF })
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-08-15 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
Need to tell us more?
{"lastModified": "Last updated 2024-08-15 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-15 UTC."]]