从照片路径创建位图时权限被拒绝
Permission denied when creating bitmap from photo path
我正在尝试从这样的照片路径创建位图:
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
并且我在清单中添加了权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
之前用的很好。但是突然出现问题,说:
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/image_1.jpg: open failed: EACCES (Permission denied)
这几天一直在寻找答案,但还是想不通。我是 android 的新手,这是我的第一个 post。希望你能帮助我。谢谢!
供您参考,我正在使用 android studio 和 genymotion。应用 API 是 23。
该应用尚未获得写入外部存储器的权限,这是 android 23 Marshmallow 的新功能 Run time permission。
您首先需要创建一个运行时权限,让用户接受并批准写入外部存储器,然后才能写入。
你可以试试这个。
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
到
Bitmap bitmap = BitmapFactory.decodeFile("file://"+mCurrentPhotoPath);
希望对您有所帮助。谢谢
我正在尝试从这样的照片路径创建位图:
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
并且我在清单中添加了权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
之前用的很好。但是突然出现问题,说:
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/image_1.jpg: open failed: EACCES (Permission denied)
这几天一直在寻找答案,但还是想不通。我是 android 的新手,这是我的第一个 post。希望你能帮助我。谢谢!
供您参考,我正在使用 android studio 和 genymotion。应用 API 是 23。
该应用尚未获得写入外部存储器的权限,这是 android 23 Marshmallow 的新功能 Run time permission。
您首先需要创建一个运行时权限,让用户接受并批准写入外部存储器,然后才能写入。
你可以试试这个。
Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);
到
Bitmap bitmap = BitmapFactory.decodeFile("file://"+mCurrentPhotoPath);
希望对您有所帮助。谢谢