Android项目实战(四十九):Andoird 7.0+相机适配
解决方案类似:
Android项目实战(四十):Andoird 7.0+ 安装APK适配
解决方法:
一、在AndroidManifest.xml 文件中添加 四大组件之一的 <provider>
<!-- 适配7.0 apk安装 --> <provider android:name="android.support.v4.content.FileProvider" android:authorities="你的包名.fileprovider" android:grantUriPermissions="true" android:exported="false"> <!--元数据--> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider>
注意这里的 android :authorities 属性的值 中的 com.xxx.xxxx 是你的包名,不可随意填写
二、res 目录下 建一个xml 文件,并新建xml文件file_paths.xml
注意文件名要和第一步中的 resource 属性的值一致
内容为:
<?xml version="1.0" encoding="utf-8"?> <paths> <external-path path="." name="download"/> </paths>
三、根据机型的Android系统级别执行不同的安装调用相机Intent代码
注意,根据系统版本执行不同代码,7.0以下调用7.0+的代码会报错,7.0+的调用7.0以下的会报错。
File cameraFile = new File(PathUtil.getInstance().getImagePath(), + System.currentTimeMillis() + ".jpg"); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){ intent.putExtra(MediaStore.EXTRA_OUTPUT, FileProvider.getUriForFile(getActivity(),"你的包名.fileprovider", cameraFile)); }else { intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(cameraFile)); } startActivityForResult(intent, REQUEST_CODE_CAMERA);
作者:听着music睡
出处:http://www.cnblogs.com/xqxacm/
Android交流群:38197636
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
分类:
Android项目实战
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2014-08-23 安卓开发_数据存储技术_SharedPreferences类