java - 从照片路径创建位图时权限被拒绝

标签 java android bitmap bitmapfactory

我正在尝试从照片路径创建位图,如下所示:

    Bitmap bitmap = BitmapFactory.decodeFile(mCurrentPhotoPath);

我已经在 list 中添加了权限:

    <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 完全陌生,这是我的第一篇文章。希望你能帮助我。谢谢!

供您引用,我正在使用 android studio 和 genymotion。应用程序 API 是 23。

最佳答案

该应用程序尚未获得写入外部存储器的权限,这是 android 23 Marshmallow 的一项新功能,名为 Run time permission

您首先需要创建一个运行时权限,让用户接受并批准写入外部存储器,然后才能写入。

关于java - 从照片路径创建位图时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357968/

相关文章:

java - Java ProcessBuilder可以使用相同的cmd窗口吗

用于 ListView 的 JavaFX 平滑滚动

java - Intellij 空 R 文件

iphone - 如何让我的固定宽度移动网站始终出现 "fully zoomed in"?

java - decodeByteArray 和 copyPixelsToBuffer 不工作。 SkImageDecoder::Factory 返回空

java - 为什么它不起作用? (通过java中的Runnable发送函数作为参数)

android - 哪个 UI 用于 Cordova Android/iPhone 应用程序开发

Android:使用 SurfaceView 内容创建位图

android - 在主 UI 中保存文件

java - 瓷砖定义中的center和body属性有什么区别?