android开发中关于7.0适配的FileProvider的总结
问题描述—-Android7.0权限变更的介绍
android7.0在安全性能上可以说是做了升级的。主要表现是应用的私有目录的访问被限制。开发者不能简单的通过file:// URI访问其他应用的私有目录或者其他应用访问本应用的私有目录。并且Android SDK 中的StrictMode 策略禁止开发人员在应用外部公开 file:// URI。当我们在应用中使用包含 file:// URI 的 Intent 离开自己的应用时,程序就会发生闪退现象。
开发中的实际场景介绍
打开相机
`String filePath = Environment.getExternalStorageDirectory() + "/images/"+System.currentTimeMillis()+".jpg"; File outputFile = new File(filePath); if (!outputFile.getParentFile().exists()) { outputFile.getParentFile().mkdir(); } Uri contentUri = FileProvider.getUriForFile(this, BuildConfig.APPLICATION_ID + ".myprovider", outputFile); Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, contentUri); startActivityForResult(intent, REQUEST_TAKE_PICTURE