首页 > 解决方案 > 如何创建一个其他应用程序都可以读取但没有人可以写入的内容提供程序?

问题描述

我了解 export=true 会将内容提供程序设置为所有其他应用程序都可以读写。但是现在我只希望内容提供者可以被所有人读取,但不能被任何人写入。我怎样才能做到这一点?

标签: androidandroid-contentprovider

解决方案


我解决这个问题的方法是创建两个ContentProviders. 导出的只有query()方法的实现insert()update(), 和delete()

第二个(私有)不会被导出,它将包含所有方法的实现。您可以使用继承来避免重复代码。


您必须在AndroidManifest.xml中注册它们。请记住,它们ContentProviders必须有不同的authorities,但它们仍然可以对相同的数据进行操作。


推荐阅读