我的应用程序正在尝试安装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);

在我的活动中

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发射时,我的活动会立即获得结果代码0,该代码0与系统安装UI仍在等待用户权限时相对应。

enter image description here

我的活动是为了了解安装是否成功,并基于该UI的更新。

任何帮助都将不胜感激。

有帮助吗?

解决方案

找到了罪魁祸首。

*installIntent.setflags(intent.flag_activity_new_task);*

尽管该系统将我的活动的现有实例带回了生活 新任务堆栈. 。因此,系统在启动新任务之前会取消活动交易。

谢谢

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top