2012-11-06 83 views
0

我真的很喜歡'Loaders','ContentProviders',尤其是'ContentObservers'的概念。我使用這種標準模式,其中數據從本地數據庫加載,當它從我的服務器更新時,它會用getContentResolver().notifyChange()或類似的東西刷新。ContentProvider真棒,但私人(不與其他應用程序共享數據)

但是,當我使用ContentProvider時,我必須將我的數據公開給其他應用程序。這是爲什麼?我沒有任何敏感數據,但對我來說似乎並不高雅。所以我在這裏錯過了一些東西,或者使用ContentProvider(從而暴露我的數據)是實現它的唯一方法。

我真的從其他實現選項中錯過的是通知裝載機新數據出現在本地數據庫中。

+1

你錯過了這個http://stackoverflow.com/questions/3814610/android-private-content-provider – Luksprog

+0

沒辦法......謝謝! –

+2

或使用您自己的['android:permission']保護它(http://developer.android.com/guide/topics/manifest/provider-element.html),如果您只想將其公開給您的應用程序 – zapl

回答

0

這裏要做的很清楚:你需要而不是必須在使用內容提供者時將數據公開給其他應用程序。相反,您可以在清單中的 元素中使用android:exported =「false」屬性。

在Android API指南的Creating a Content Provider中詳細描述了使用權限來限制對提供者的訪問(但不阻止它)。

相關問題