Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在安卓系统中,如何通过编程关闭相机闪光灯?_Android_Android Camera - Fatal编程技术网

Android 在安卓系统中,如何通过编程关闭相机闪光灯?

Android 在安卓系统中,如何通过编程关闭相机闪光灯?,android,android-camera,Android,Android Camera,在安卓系统中,如何通过编程关闭相机闪光灯 我使用下面的代码激活相机应用程序,然后拍照并返回到我的应用程序 String packageName = takePictureIntent.resolveActivity(packageManager).getPackageName(); if (mPhotoFileUri != null) getActivity().grantUriPermission(packageName, mPhotoFileUri, Intent.FLAG_GR

在安卓系统中,如何通过编程关闭相机闪光灯

我使用下面的代码激活相机应用程序,然后拍照并返回到我的应用程序

String packageName = takePictureIntent.resolveActivity(packageManager).getPackageName();
if (mPhotoFileUri != null)
      getActivity().grantUriPermission(packageName, mPhotoFileUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mPhotoFileUri);

startActivityForResult(takePictureIntent, TAKE_PICTURE);
我想在相机闪光灯默认打开时关闭它。怎么可能呢


建议将不胜感激:-)

要在Android中打开/关闭手机摄像头led或手电筒,您可以使用以下功能:

Camera camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_OFF);
camera.setParameters(p);
camera.stopPreview();
并且,不要忘记在AndroidManifest.xml上设置以下权限

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

我想你不能通过
意图改变。参考

对此,您应该这样做:

1) 检查闪光灯是否可用

2) 如果是,则关闭/打开

3) 如果没有,那么你可以根据你的应用做任何事情。需要

用于检查闪存设备的可用性:

您可以使用以下命令

context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
如果闪存可用,则返回true,否则返回false

有关更多信息,请参阅

用于打开/关闭手电筒:

我通过谷歌搜索得到了关于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" />
关闭摄像头led灯的代码片段

  cam.stopPreview();
  cam.release();
问题:

打开/关闭手电筒时也存在一些问题。例如,对于没有闪光灯或即使有闪光灯的设备,手电筒也不会打开等

通常,三星制造了很多问题

您可以参考以下列表中的问题:

(一)

(二)

参考链接:

谢谢!这个代码是定制相机的,对吗?如何将这些参数传递给摄影机应用程序?我不想在我的应用程序中创建自己的相机。我想更改摄像头应用程序的设置。这个代码可以吗?谢谢,阿斯特!这个代码是定制相机的,对吗?如何将这些参数传递给摄影机应用程序?我不想在我的应用程序中创建自己的相机。我想更改摄像头应用程序的设置。这个代码可以吗?
Camera cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
  cam.stopPreview();
  cam.release();