簡體   English   中英

如何打開 android 設備的前置手電筒(不是后置手電筒)

[英]How to turn on Front flashlight(not the rear one) of a android device

我開發了一個簡單的應用程序來打開/關閉手電筒。 但我找不到打開設備前置手電筒的方法(如果有)。

可用性檢查代碼:

boolean hasCameraFlash = getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

我的打開代碼是:

@RequiresApi(api = Build.VERSION_CODES.M)
private void flashLightOn() {
    try {
        String cameraId = cameraManager.getCameraIdList()[0];
        cameraManager.setTorchMode(cameraId, true);
    } catch (CameraAccessException ignored) {
    }
}

是否可以在不打開相機的情況下打開設備的前置手電筒。 任何幫助將不勝感激。

(請注意我是android開發新手)

檢查設備中 flash 的可用性

您可以使用以下內容:

context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

如果 flash 可用,則返回 true,否則返回 false。

看:
http://developer.android.com/reference/android/content/pm/PackageManager.html了解更多信息。

打開/關閉手電筒:

我用谷歌搜索得到了關於 android.permission.FLASHLIGHT 的信息。 Android 清單的權限看起來很有希望:

<!-- Allows access to the flashlight -->
 <permission android:name="android.permission.FLASHLIGHT"
             android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
             android:protectionLevel="normal"
             android:label="@string/permlab_flashlight"
             android:description="@string/permdesc_flashlight" />

代碼片段打開相機手電筒。

Camera cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();

關閉相機 LED 燈的代碼片段。

cam.stopPreview();
  cam.release();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM