作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的应用正在尝试安装 APK。
Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
installIntent.setData(Uri.fromFile(new File(pathToApk)));
installIntent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
((Activity)context).startActivityForResult(installIntent, Constants.APP_INSTALL_REQUEST);
在我的 Activity 中
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case Constants.APP_INSTALL_REQUEST:
if(resultCode == RESULT_OK){
Log.e(TAG, "Package Installation Success");
}else if(resultCode == RESULT_FIRST_USER){
Log.e(TAG, "Package Installation Cancelled by USER");
}else{
Log.e(TAG, "Something went wrong - INSTALLATION FAILED");
}
当我的 startActivityResult 被触发时,我的 Activity 立即得到结果代码 0,它对应于 RESULT_CANCELLED,而系统安装 UI 仍在等待用户许可。
我的 Activity 是实际了解安装是否成功,并基于此更新其 UI。
如有任何帮助,我们将不胜感激。
最佳答案
找到了罪魁祸首。
*installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);*
尽管系统使我的 Activity 的现有实例恢复生机,但它位于新任务堆栈中。因此系统在开始新的 TASK 之前取消了 activityForResult。
谢谢
关于android - ACTION_INSTALL_PACKAGE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825636/
我的应用正在尝试安装 APK。 Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE); installIntent.setD
我正在尝试对我正在编写的应用程序进行编程更新,因为它不是 Google Play 应用程序,我想提供一种进行更新的方法。 我一直在四处搜索,找到了如何在下载更新 APK 后启动 Android 安装程
我是一名优秀的程序员,十分优秀!