4
我正在開發一個使用ContentProvider的應用程序。它在清單中聲明:衝突的內容提供商
<provider android:name="foor.bar.FooBarProvider"
android:authorities="foo.bar.FoorBarProvider" />
一切工作正常,我可以訪問提供商。問題是我想創建我的應用程序的演示版本,我希望它共享相同的內容提供程序,因此當用戶安裝完整版本時,數據保持同步。另外,應該可以只安裝完整版或演示版。因此,我必須包含我的內容提供商均爲。
現在,當我嘗試安裝兩個應用程序,我得到一個INSTALL_FAILED_CONFLICTING_PROVIDER錯誤消息,顯然是因爲這兩個AndroidManifest聲明相同的內容提供商。
有沒有辦法在Manifest中告訴,只有在內容提供者不存在的情況下才應該使用這個內容提供者?還是另一種解決方法?
解決方案是完整版將數據從演示內容提供者遷移到完整版內容提供者,但我寧願避免這種情況。
那麼我想要的是內容提供商安裝一次(由lite或全部,無論先安裝),然後重新使用,如果用戶安裝另一個版本。 – Julien 2010-08-27 08:12:57
@ Julien:那是不可能的。內容提供者屬於一個應用程序。他們卸載應用程序,他們卸載內容提供商。 – CommonsWare 2010-08-27 09:05:18
好的,我會繼續進行數據遷移和兩個內容提供者。謝謝 – Julien 2010-08-27 13:46:43