【发布时间】:2019-03-15 16:44:13
【问题描述】:
我正在通过以下意图安装 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 没有正确解析(例如,如果它用于不同的架构),或者只是用户在请求上单击“CANCEL”?
我还尝试了startActivityForResult 和相应的onActivityForResult 函数,但这似乎与用户操作无关,并且在触发意图时立即触发。
【问题讨论】:
-
PACKAGE_ADDED仅在实际安装时调用。取消下载没有广播。 -
我知道那个特定的广播只有在安装时才会触发。但必须有一种方法来处理失败。
-
如果以下答案回答了您的问题,请将其标记为已接受的答案。如果不是,请提供一些评论。
标签: android kotlin android-package-managers android-install-apk