簡體   English   中英

Android-通過意圖安裝APK-對失敗做出反應

[英]Android - Install APK via intent - react to failure

我通過以下意圖安裝APK:

val apkUri = Uri.fromFile(apkFile)
val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(apkUri, "application/vnd.android.package-archive")
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)

我知道我可以檢索PACKAGE_ADDED廣播,然后在安裝APK的情況下做出反應。 但是,如果安裝失敗怎么辦? 例如,是否未正確解析APK(例如,是否針對不同的體系結構),或者僅是用戶在請求上單擊“取消”?

我還嘗試了startActivityForResult和相應的onActivityForResult函數,但這似乎獨立於用戶操作,並且在觸發意圖時立即被觸發。

答案是沒有標准的方法可以做到。 如果查看包管理器服務源,您將看到不成功時不會廣播任何事件。

從理論上講,您可以做一些事情...

  1. 啟動該意圖后,在恢復活動/片段時,請檢查是否已安裝該軟件包。
  2. 檢查logcat日志(如果您具有這樣做的權限),並解析它們以獲取任何程序包管理器輸出。

這些選項不是完美的,可能無法在所有實現上都起作用,但可能會引導您朝正確的方向發展。

暫無
暫無

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

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