2011-10-21 16 views
0

我有一个带有内置窗口小部件的应用程序,我试图从我的包文件夹(/ data/data /com.package.name/pic.jpg)通过我的小部件,但是当我尝试读取它时,我在logcat中得到“权限被拒绝”。 file.canRead()返回true,所以我不确定这里有什么问题。是不是允许通过小部件从包文件夹读取? 我是否必须在SD卡上创建图像才能够读取图像,或者有其他方法吗?我宁愿从我的包文件夹中读取它,但它似乎不工作。 任何想法?当我尝试从我的窗口小部件中读取我的包文件夹中的图像时,权限被拒绝(android)

感谢

+0

logcat中的完整错误消息是什么?用openFileOutput()创建文件 –

回答

0

我将通过假设“小部件”你真的是“应用程序部件”。如果我的假设不正确,请忽略此答案。 :-)

主屏幕需要能够读取图像。主屏幕在其自己的进程中运行,并且不具有任何文件的权限。

是不是允许通过小部件从包文件夹读取?

主屏幕不允许从您的应用程序的文件中读取。所以,如果您使用setImageViewUri()file://Uri,那将是您的问题。

我是否必须在SD卡上创建图像才能够读取图像,或者有其他方法吗?

外部存储将是一个解决方案。另一种方法是使用MODE_WORLD_READABLE使用openFileOutput()创建文件。另一种方法是创建一个小的ContentProvider并使用content://Uri

+0

解决了我的问题!非常感谢您的帮助! – Smiden

相关问题