博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 7.0 调用系统相机崩溃的解决方案(非谷歌官方推荐)
阅读量:5993 次
发布时间:2019-06-20

本文共 1046 字,大约阅读时间需要 3 分钟。

解决方案:

1、(推荐)7.0之后你的app就算有权限,给出一个URI之后手机也认为你没有权限。

不用修改原有代码,在Application的oncreate方法中:(或者直接放在调用相机的activity的onCreate方法中)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {     StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();     StrictMode.setVmPolicy(builder.build());   }

 2、(强烈不推荐)在调用相机的时候添加7.0系统的判断(谷歌官方推荐的,但是本人强烈不推荐,坑太多)

/*获取当前系统的android版本号*/int currentapiVersion = android.os.Build.VERSION.SDK_INT;Log.e("currentapiVersion","currentapiVersion====>"+currentapiVersion);if (currentapiVersion<24){    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(pathFile));    startActivityForResult(intent, TAKE_PICTURE);}else {    ContentValues contentValues = new ContentValues(1);    contentValues.put(MediaStore.Images.Media.DATA, pathFile.getAbsolutePath());    Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,contentValues);    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);    startActivityForResult(intent, TAKE_PICTURE);}

推荐使用第一种。

转载于:https://www.cnblogs.com/1925yiyi/p/10319489.html

你可能感兴趣的文章
shell中变量的查看和删除
查看>>
VSAN故障-数据传输速度极慢
查看>>
tar命令语法(-[cxt],-[zj],-v,-f)
查看>>
连接12cR2 PDB报错ORA-28040/ORA-01017
查看>>
Exchange 2013 cu16补丁更新
查看>>
Netty In Action中文版 - 第一章:Netty介绍
查看>>
关于Segmentation fault (core dumped)
查看>>
nginx + PHP (FastCGI) 高性能服务器部署
查看>>
nginx启动与停止
查看>>
unsquashfs的部署和用法
查看>>
Saltstack配置管理功能模块-haproxy
查看>>
shell 脚本检测密码,5次错误则停止
查看>>
bash的位置参数轮替(shift)
查看>>
PIX配置手册二(telnet和ssh)
查看>>
MySQL高可用之MHA
查看>>
python的一些基础的知识
查看>>
centos6.5突然没有Yum命令
查看>>
无法启动Outlook,无法打开Outlook窗口,无法打开文件夹的集合
查看>>
报告称三季度Android、iOS垄断智能机市场96%份额
查看>>
java启动dos命令收集笔记一
查看>>