通过 android.widget.RemoteViewsService 访问时的 Content Provider 权限

发布于 2024-11-08 18:21:51 字数 755 浏览 0 评论 0原文

我正在开发一个应用程序的小部件作为更大应用程序的一部分。 该应用程序包含一个在manifest.xml中声明的ContentProvider,如下所示:

<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 是必需的,但众所周知,没有这样的权限...

谢谢!

I'm developing an application's widget as part of a bigger application.
The application contains a ContentProvider which is declared in the manifest.xml as follow:

<provider android:name="aaa.bbb.providers.MyContentProvider"
    android:authorities="aaa.bbb.myprovider"
    android:enabled="true" 
    android:exported="false">
</provider>

As you can see the content provider exported attribute is set to false, since I don't want
other applications to access it (accoridng to google's developers guide..).
The problem is that this attribute causes the widget to crash when trying to fetch data
from the content provider, although it runs from the SAME process (the widget uses a StackView which uses a android.widget.RemoteViewsService) I get:

java.lang.SecurityException: Permission Denial: reading aaa.bbb.providers.MyContentProvider uri content://aaa.bbb.myprovider/users from pid=203, uid=10022 requires null

Now as far as I know, this kind of error occurres when a permission is missing, but it says
that permission null is required, and there is no such permission as we all know...

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文