适配安卓7.0系统相机拍照

作者: _10_01_ | 来源:发表于2017-01-09 17:14 被阅读821次

Android 7.0 提供新功能以提升性能、生产效率和安全性。通过新的系统行为测试您的应用,以节省电量和内存。充分利用多窗口 UI直接回复通知等功能。

Android Nougat

Android 7.0 做了一些权限更改,当使用系统相机拍照时将受到影响;

传递软件包网域外的 file:// URI 可能给接收器留下无法访问的路径。因此,尝试传递 file:// URI 会触发 FileUriExposedException。分享私有文件内容的推荐方法是使用 FileProvider

使用系统相机拍照并且保存全尺寸照片

使用方法可以参考官方文档 Save the Full-size Photo
** https://developer.android.google.cn/training/camera/photobasics.html#TaskPath **

遇到的问题

点击照片,进入系统相机应用点击拍摄,系统相机闪退了了了😅

java.lang.SecurityException:
Permission Denial: opening provider android.support.v4.content.FileProvider from ProcessRecord
解决办法
Uri photoURI = FileProvider.getUriForFile(activity,
    "com.example.android.fileprovider",
    photoFile);
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
    List<ResolveInfo> resInfoList = getPackageManager()
        .queryIntentActivities(takePictureIntent,
            PackageManager.MATCH_DEFAULT_ONLY);
    for (ResolveInfo resolveInfo : resInfoList) {
        String packageName = resolveInfo.activityInfo.packageName;
        grantUriPermission(packageName, photoURI,
            Intent.FLAG_GRANT_WRITE_URI_PERMISSION
                | Intent.FLAG_GRANT_READ_URI_PERMISSION);
    }
}
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, TAKE_PICTURE);
参考资料

Android 7.0 行为变更#权限更改
Android7.0适配教程,心得
How to use support FileProvider for sharing content to other apps?
FileProvider Not Working with Camera
Android7.0拍照失败FileUriExposedException,你的拍照代码升级了吗

相关文章

  • Android 系统相机的简单调用

    调用系统相机完成相机功能 系统适配:安卓6.0 安卓7.0参考链接:1. 2.开发测试工具:Android St...

  • 适配安卓7.0系统相机拍照

    Android 7.0 提供新功能以提升性能、生产效率和安全性。通过新的系统行为测试您的应用,以节省电量和内存。充...

  • android 7.0调用相机闪退问题

    背景: 在安卓7.0手机上,调用系统相机拍照,结果出现闪退。 原因: Android7.0中为了提高私有文件的安全...

  • 安卓7.0适配拍照

    分享适配7.0拍照遇到的问题。 authorities这个东西不能重复,不然两个app不能同时安装在同一手机上,$...

  • Android 7.0适配

    目前在项目中遇到Android 7.0及以上系统调用相机拍照时出现崩溃的情况,分析后发现是7.0系统的适配问题引起...

  • 安卓7.0的拍照适配

    在Android 7.0以上,在相机拍照和图片裁剪上,可能会碰到以下一些错误: Process: com.yuyh...

  • Android适配-Android 7.0 适配方案

    Android 7.0 适配 1. 项目中调用 照相机拍照/录像 FileProvider 适配 注意小于 N(2...

  • FileUriExposedException: file://

    前段时间把App的有关拍照的代码写好了,也适配了安卓7.0,把我们老大的华为的手机搞来玩玩,偷偷给升级到了安卓7....

  • 安卓拍照支持适配7.0 takePhoto

    webview input说明 安卓webview禁用input,网上查看各种方案,都存在弊端。经过实践,完整可用...

  • 适配安卓7.0 :安装 之路

    安卓之路,那真可谓是 路漫漫其修远兮,刚适配好 安卓6.0 的动态权限,如今有要适配 安卓7.0 的私有文件,有什...

网友评论

    本文标题:适配安卓7.0系统相机拍照

    本文链接:https://www.haomeiwen.com/subject/xdrhbttx.html