对于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以上还是以下,相机拍照功能都是相互兼容的。
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · 记录untiy适配android12
- · 【Unity】SQLite发布到Android
- · unity3D导出模块给android使用
- · XPosed模块开发:XPosed入门与登陆劫持演示
- · Android studio 运行模拟器出现dev/kvm is not found问题
- · android集成微信分享
- · 解决android 安卓中横屏、竖屏切换 应用崩溃问题
- · 解决searchview自动获取焦点问题
- · 解决listView中textview超链接导致listitem点击事件失效问题
- · Android中LinearLayout的点击事件如何包含内部的子控件?
- · 关于Fragment 不响应onActivityResult的情况分析
- · setVisibility无效