我知道export = true会将内容提供程序设置为所有其他应用程序可读写。但现在我只希望内容提供者可以被所有人阅读,但没有人可以写。我怎样才能做到这一点?
我解决这个问题的方法是创建两个ContentProviders
。导出的只有query()
方法的实现,insert()
,update()
和delete()
。
第二个(私有),不会被导出,它将包含所有方法的实现。您可以使用继承来避免重复代码。
您必须在AndroidManifest.xml中注册它们。请记住,ContentProviders
必须有不同的authorities
,但他们仍然可以使用相同的数据。