android - 如何创建一个其他应用程序都可以读取但没有人可以写入的内容提供程序?
问题描述
我了解 export=true 会将内容提供程序设置为所有其他应用程序都可以读写。但是现在我只希望内容提供者可以被所有人读取,但不能被任何人写入。我怎样才能做到这一点?
解决方案
我解决这个问题的方法是创建两个ContentProviders
. 导出的只有query()
方法的实现insert()
,update()
, 和delete()
。
第二个(私有)不会被导出,它将包含所有方法的实现。您可以使用继承来避免重复代码。
您必须在AndroidManifest.xml中注册它们。请记住,它们ContentProviders
必须有不同的authorities
,但它们仍然可以对相同的数据进行操作。
推荐阅读
- r - 在一个函数中设置几个条件
- sql - 将表中的值添加到另一个与文本框中的值相结合
- javascript - 如何在代码中使用preventdefault of jquery来防止key重复?
- java - RestTemplate 访问响应中的元素
- java - 如何使用正则表达式特定字符串拆分字符串
- python - 使用 nidaqmx-python 将模拟电压连续输出到 NI DAQ 模块
- java - Easymock.expect 抛出 IllegalStateException
- selenium - 我正在尝试为每个失败捕获屏幕截图,但 File.Utils 或 File.Handler 显示代码错误
- python - python - 如何使列表中的随机值至少在Python列表中的每个值的给定数量上是唯一的?
- c - 红黑树插入操作不断崩溃