Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 解決 INSTALL FAILED CONFLICTING PROVIDER的問題方法

解決 INSTALL FAILED CONFLICTING PROVIDER的問題方法

編輯:關於Android編程

 解決 INSTALL FAILED CONFLICTING PROVIDER的問題方法

 在安裝Android應用時出現INSTALL FAILED CONFLICTING PROVIDER問題,是不是感覺很抓狂呢,下面就跟大家分享一下出現這個問題的原因及解決方案。

問題原因

在Android中authority要求必須是唯一的,比如你在定義一個provider時需要為它指定一個唯一的authority。如果你在安裝一個帶有provider的應用時,系統會檢查當前已安裝應用的authority是否和你要安裝應用的authority相同,如果相同則會彈出上述警告,並且安裝失敗。

解決方案

在定義provider是,使用軟編碼的形式,如下:

<provider
  android:name="android.support.v4.content.FileProvider"
  android:authorities="${applicationId}.fileprovider"
  android:grantUriPermissions="true"
  android:exported="false">
  <meta-data
    android:name="android.support.FILE_PROVIDER_PATHS"
    android:resource="@xml/file_paths" />
</provider>

上述代碼中通過${applicationId}.fileprovider的形式來指定provider的authorities,所以該provider的authorities會根據applicationId的不同而不同,從而避免了authorities的沖突問題。

那麼如何使用剛才定義的authorities呢?

我們在定義authorities是采用了applicationId+fileprovider的形式,在獲取authorities的時候,我們就可以通過包名+fileprovider來獲取,代碼如下:

public final static String getFileProviderName(Context context){
  return context.getPackageName()+".fileprovider";
}

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved