我创建了一个简单的Android应用程序,它可以拍摄2张照片,并尽力比较2.应用程序在应用程序内拍照时应用程序正常,但我在尝试从手机上加载图像时遇到问题。我希望能够加载我用相机拍摄的照片,并保存在手机上(特别是在Android设备的/DCIM/Camera
)。我的代码非常基本,但它只包含以下内容:
File file = new File(Environment.getExternalStorageDirectory(),imagePath);
if(file.exists())
Bitmap origBitmap = BitmapFactory.decodeFile(imagePath);
但是,origBitmap
为空,我假设它是因为file
未正确加载。由于file.exists()
为false,我认为我的权限已关闭。但在我的清单文件中,我有权限:android.permission.READ_EXTERNAL_STORAGE
。我只是不确定我在这里缺少什么。谢谢你的帮助。
答案 0 :(得分:1)
由于您的目标是API 25,因此您需要添加运行时延迟检查以访问用户的媒体。
有关详细信息,请参阅此文章:https://developer.android.com/training/permissions/requesting.html
或者,您可以转到Android设置 - >应用并查找您的应用并手动向媒体授予应用权限。这可以让您解决问题,但是如果您打算分发应用程序,则需要添加运行时权限检查。