我正在开发一个应用程序的小部件作为更大的应用程序的一部分。 该应用程序包含一个ContentProvider,它在manifest.xml中声明如下:
<provider android:name="aaa.bbb.providers.MyContentProvider"
android:authorities="aaa.bbb.myprovider"
android:enabled="true"
android:exported="false">
</provider>
正如您所看到的,内容提供者导出属性设置为false,因为我不想要 其他应用程序访问它(符合谷歌的开发人员指南..)。 问题是此属性导致窗口小部件在尝试获取数据时崩溃 从内容提供程序,虽然它从SAME进程运行(小部件使用一个使用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
是必需的,并且没有我们都知道的许可......
谢谢!