对于Android 6.0
之前,想要使用系统的相机进行拍照,那么只要在
AndroidManifedt.xml
中进行添加相应的权限,主要是两个:
<
uses-permission
android
:name=
“android.permission.WRITE_EXTERNAL_STORAGE”
/>
<
uses-permission
android
:name=
“android.permission.CAMERA”
/>
这样设置完成后,当在
Android 6.0
一下(不包括
6.0
)进行使用系统相机进行拍照是完全没有问题,当我们进行点击拍照功能时,此时系统就会提醒我们打开相应的权限,这说明使用系统相机进行拍照是没有问题的,但是,但使用
Android 6.0
以上系统(包括
6.0
)时,此时点击拍照功能时,此时就会只弹出一个“黑色提示框”,而且功能完全是死的,没有任何的相应。通过上网百度,发现对于
Android 6.0
以上系统,不能只是在
AndroidManifest.xml
中进行配置,还要在程序代码中进行动态设置相应的权限。
ActivityCompat.
requestPermissions
($.getActivity(),
new String[]{Manifest.permission.
CAMERA
,Manifest.permission.
WRITE_EXTERNAL_STORAGE
},
1);
Intent intent =
new
Intent(getBaseContext(), ActivityCapture.
class
);
startActivityForResult(intent,
CameraRequestCode
);
红色标志的代码就是在代码中进行动态设置的权限,也是关于相机的两个权限,分别是
Manifest.permission.CAMERA
和
Manifest.permission.WRITE_EXTERNAL_STORAGE
。
设定动态权限后,此时,在
Android 6.0
以上系统中就也会弹出相应的开启相机使用权限和外部存储相应的功能了,此时不管是
Android 6.0
以上还是以下,相机拍照功能都是相互兼容的。