像ContentProvider一样令人敬畏但私有(不与其他应用共享数据)

时间:2012-11-06 20:42:48

标签: android android-contentprovider

我真的很喜欢'Loaders','ContentProviders'的概念,特别是'ContentObservers'。我使用这个标准模式,从本地数据库加载数据,当它从我的服务器更新时,它用getContentResolver().notifyChange()或类似的东西刷新。

但是当我使用ContentProvider时,我必须将我的数据暴露给其他应用程序。这是为什么?我没有任何敏感数据,但对我来说似乎并不优雅。所以我在这里错过了一些东西,或者使用ContentProvider(因此暴露我的数据)是实现它的唯一方法。

我真正想念的其他实现选项是通知Loaders新数据出现在本地数据库中。

1 个答案:

答案 0 :(得分:0)

这里要非常明确:当您使用内容提供商时,必须将您的数据公开给其他应用。相反,你可以使用android:exported =“false”属性  你的清单中的元素。

在Android API指南的Creating a Content Provider中详细介绍了使用权限来限制对提供商的访问权限(但不能阻止它)。