程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> android 6.0 Intent 安裝apk閃退,androidapk

android 6.0 Intent 安裝apk閃退,androidapk

編輯:JAVA綜合教程

android 6.0 Intent 安裝apk閃退,androidapk


需求描述:

利用android系統自帶的DownloadManager下載apk文件,並且打開安裝界面。
問題描述:
關於DownloadManager的使用網上有很多例子,在此不啰嗦。下載完成之後在android6.0(api=23)環境下打開安裝界面出現閃退(確認已經在AndroidManifest.xml文件中配置配置權限)。在Android4.4(api=19) 環境下正常。因為只有兩台android手機,沒有嘗試android6.0之前的其他系統。使用代碼如下:
public static void install(Context context, String filePath) {
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive");
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
}

解決過程:

百度一番無果,google一番有了答案。

解決方案:

android6.0(api=23)以後直接打開文件,讓系統去判斷如何處理。詳細解決方案見如下地址:

http://www.jianshu.com/p/d896a09b9aca

原因分析:

API <= 22 com.android.packageinstaller
API >= 23 com.google.android.packageinstaller

http://stackoverflow.com/questions/32211392/packageinstalleractivity-not-found-on-android-m-developer-preview

但是我在上面的代碼中加入“intent.setComponent(comp);”之後 在android6.0下面依然閃退。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved