Android APP升級時解析程序包時出現問題


一個新的測試機在自動下載升級安裝更新版本APP時,報出“解析程序包時出現問題”錯誤。原因眾說紛紜, 一番搜索,下面的回答比較全面:

https://stackoverflow.com/questions/39147608/android-install-apk-with-intent-view-action-not-working-with-file-provider

簡單總結:

1. 安卓7以下一般問題不大

2. 安卓7及以上需要使用FileProvider

3. 安卓7.1 需要在清單中增加 REQUEST_INSTALL_PACKAGES 權限

4. 安卓8  需要授權允許應用安裝未知應用,在應用權限中設置。(此次問題)

 

另, 

1. 注意檢查是否有外存儲器的讀寫權限, 如果沒有就無法正常下載程序。

2. 應用權限是否被允許"安裝未知應用",可以如下這樣判斷, 坑:但targetSdkVersion需要至少為26,否則下面的方法永遠返回false;

this.getPackageManager().canRequestPackageInstalls()

判斷后可以幫助用戶跳轉到設置頁面引導用戶設置,也可以讓用戶自行通過系統設置的應用權限管理設置。

Intent unknownAppSourceIntent = new Intent()
.setAction(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES)
.setData(Uri.parse(String.format("package:%s",MainOneActivity.this.getPackageName())));

startActivityForResult(unknownAppSourceIntent, UNKNOWN_APP_INSTALL);

 

一些定制android系統高於安卓8不進行步驟四,也是可以安裝的,而有些則不可以。 唉,安卓的碎片化~。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM