【发布时间】:2011-08-28 20:31:53
【问题描述】:
我正在开发一个应用程序的小部件,作为更大应用程序的一部分。 该应用程序包含一个 ContentProvider,它在 manifest.xml 中声明如下:
<provider android:name="aaa.bbb.providers.MyContentProvider"
android:authorities="aaa.bbb.myprovider"
android:enabled="true"
android:exported="false">
</provider>
如您所见,内容提供程序的导出属性设置为 false,因为我不希望 其他应用程序来访问它(根据谷歌的开发人员指南..)。 问题是这个属性会导致小部件在尝试获取数据时崩溃 来自内容提供者,尽管它从相同的进程运行(小部件使用使用 android.widget.RemoteViewsService 的 StackView)我得到:
java.lang.SecurityException: Permission Denial: reading aaa.bbb.providers.MyContentProvider uri content://aaa.bbb.myprovider/users from pid=203, uid=10022 requires null
现在据我所知,当缺少权限时会发生这种错误,但它说
那个权限null是必须的,没有我们都知道的那个权限……
谢谢!
【问题讨论】:
标签: android android-widget android-manifest android-contentprovider