簡體   English   中英

Kit Kat與所有更高版本5.x,6.x和7.x之間的Android內容提供商沖突

[英]Android content-provider conflict between Kit Kat and all later versions, 5.x, 6.x and 7.x

我在2個不同的應用程序中用於共享登錄的內容提供商遇到問題。 主要的麻煩是使用<provider>標記。 如果將其放置在<application>標記之外,則共享資源僅在兩個應用程序本地可見,並且無法共享登錄。 但在Kit Kat中運行。 如果我將其放在<application>標記中,則對Lollipop,棉花糖和牛軋糖非常有用,但是在Kit Kat中運行時,兩個應用程序在應用程序啟動時崩潰,並說該應用程序的命名空間中未定義提供程序類 。存在,但當然它在項目中的正確名稱空間中。 不幸的是,我必須支持Kit Kat,並且當<provider>位於<application>內時,提供程序可以在5.x,6.x和7.x中工作。我可以在<application>之間共享登錄令牌(JWT),這些應用程序是必需的。 如何才能使提供者在Kit Kat中像在棒棒糖,棉花糖和牛軋糖中一樣工作?

如果我將其放置在<application>

但是您的問題並不完整,因為它沒有顯示清單的內容,出於以下一個簡單原因,我將其發布為答案: <provider>不能在<application>

<provider>
    CONTAINED IN:
       <application>

https://developer.android.com/guide/topics/manifest/provider-element.html

因此,您很有可能只是在使用更高版本中修復的平台錯誤的副作用。

我在2個不同的應用程序中用於共享登錄的內容提供商遇到問題

有明確的機制可讓您限制對正確公開的提供程序的訪問。 沒有理由使用技巧,例如android:permission或可選的android:grantUriPermissions 我認為您當前的方法在設計上是錯誤的,應該首先解決。

暫無
暫無

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

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