簡體   English   中英

沖突的內容提供商

[英]Conflicting content providers

我正在使用ContentProvider開發應用程序。 它在清單中聲明:

<provider android:name="foor.bar.FooBarProvider"
          android:authorities="foo.bar.FoorBarProvider" />

一切正常,我可以訪問提供商。 問題是我想創建我的應用程序的演示版本,我希望它共享相同的內容提供程序,因此當用戶安裝完整版本時,數據保持同步。 此外,應該可以只安裝完整版或演示版。 因此,我必須在兩者包含我的內容提供商。

現在,當我嘗試安裝這兩個應用程序時,我收到一條INSTALL_FAILED_CONFLICTING_PROVIDER錯誤消息,顯然是因為AndroidManifest都聲明了相同的內容提供程序。

有沒有辦法在Manifest中說明只有在內容提供程序尚不存在的情況下才應該使用它? 還是另一種解決方法?

一個解決方案是完整版本將數據從演示內容提供商遷移到完整版內容提供商,但我寧願避免這種情況。

一個解決方案是完整版本將數據從演示內容提供商遷移到完整版內容提供商,但我寧願避免這種情況。

以下是可能的事件序列:

  1. 用戶安裝lite版本
  2. 用戶用戶精簡版,存儲數據
  3. 用戶升級到完整版,但您不會根據上面的引用段落復制數據
  4. 用戶卸載lite版本,刪除其數據
  5. 用戶為您提供市場的一星級評級

您需要在完整版的第一次運行時將數據從lite克隆到完整版以避免此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM