ContentProvider android 权限

发布于 2024-12-28 03:58:29 字数 180 浏览 0 评论 0原文

我希望比我更聪明的人可以回答这个问题。

默认情况下,所有 Android 数据库都可以通过 ContentProvider 访问,或者相关应用程序是否必须显式授予与 CP 共享数据库的权限,然后其他程序才能访问其数据库?

如果默认情况下它们不共享,则无法让应用程序开发人员包含更改,root 将是唯一的解决方法吗?

I'm hoping someone smarter then me can answer this question.

By default can all android databases be accessed through the ContentProvider, or does the application in question have to explicitly give permissions to share it with the CP before another program can access its db?

If they are not shared by default, short of getting the application developer to include the change, root would be the only way around it?

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

删除→记忆 2025-01-04 03:58:29

默认情况下,所有 Android 数据库都可以通过 ContentProvider 访问,或者相关应用程序是否必须明确授予与 CP 共享数据库的权限,然后其他程序才能访问其数据库?

默认情况下,ContentProvider 被导出,这意味着第三方可以对其执行 CRUD 操作。您可以通过以下方式更改此行为:

  • 将其标记为未导出( 元素上的 android:exported="false"
  • 使用您自己的自定义权限来允许用户有条件地允许访问提供商

如果默认情况下它们不共享,则无法让应用程序开发人员包含更改,root 将是唯一的解决方法吗?

Root 不会帮助您访问其他应用程序的内容提供程序。请尊重其他开发者的意愿。

By default can all android databases be accessed through the ContentProvider, or does the application in question have to explicitly give permissions to share it with the CP before another program can access its db?

By default, a ContentProvider is exported, meaning third parties can perform CRUD operations upon it. You can change this behavior either by:

  • Marking it as not exported (android:exported="false" on the <provider> element)
  • Using your own custom permissions to allow the user to conditionally allow access to the provider

If they are not shared by default, short of getting the application developer to include the change, root would be the only way around it?

Root will not help you access another applications' content provider. Please respect the wishes of the other developer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文