我有一个内置小部件的应用程序,我试图通过我的小部件从我的包文件夹(/data/data/com.package.name/pic.jpg)中读取图像,但是当我尝试阅读它我在logcat中得到“权限被拒绝”。 file.canRead()返回true所以我不确定这里有什么问题。是不是允许通过小部件从包文件夹中读取? 我是否必须在SD卡上创建图像才能读取它还是有其他方法吗?我更喜欢从我的包文件夹中读取它,但它似乎不起作用。 有什么想法吗?
由于
答案 0 :(得分:0)
我将假设“小部件”你的意思是“app widget”。如果我的假设不正确,请忽略此答案。 : - )
主屏幕需要能够读取图像。主屏幕在其自己的进程中运行,并且没有任何文件的权限。
是否允许通过小部件从包文件夹中读取?
不允许主屏幕从您应用的文件中读取。因此,如果您将setImageViewUri()
与file://
Uri
一起使用,那将是您的问题。
我是否必须在SD卡上创建图像才能阅读它?还是有其他方式?
外部存储将是一种解决方案。另一种方法是使用openFileOutput()
使用MODE_WORLD_READABLE
创建文件。还有一种方法是创建一个小ContentProvider
并使用content://
Uri
。