我正在尝试使用MediaStore将位图作为图像保存到手机存储中,如下所示:
MediaStore.Images.Media.insertImage(contentResolver, bitmap, "title" , "description")
该图像未保存在设备存储中,我已经在模拟器和物理设备上进行了检查。
我到目前为止所做的事情:
检查我通过的位图是否是我想要的位图:
为此,我已经在调试器的帮助下检查了它的值,如下所示:
1)在应该保存图像的行上放置一个断点,并检查我传递的位图,该位图与我要保存的位图相同:
2)这是位图的样子:
确保已从用户授予将文件写入外部存储的权限(下一行)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
确保图像没有保存在图库的末尾或设备存储区中的任何其他地方
我知道我可能可以不使用this thread中提到的MediaStore来保存图像,但是我想知道我在这里做错了什么,为什么我不能将位图另存为设备存储中的图像?
答案 0 :(得分:0)
我尝试了这个,但对我也没有用。所以我使用了Android下载管理器,它很简单;-)
这是代码
-p
答案 1 :(得分:0)
出于某种原因,即使在授予WRITE_EXTERNAL_STORAGE
之后,在查看日志中的一些信息后,我也注意到出现了此错误:
Permission Denial: writing com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=11218, uid=10079 requires android.permission.WRITE_EXTERNAL_STORAGE, or grantUriPermission()
我觉得很奇怪,因为在将图像保存到图库之前,我已经检查了是否已授予此权限。
为我解决的是删除该应用并重新安装