4

我一直在尝试从我的应用程序安装其他应用程序。我已经从服务器下载了 .apk 并且我正在使用以下内容触发意图

Intent installIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);

installIntent.setData(Uri.parse("file:<apk file location>"));
installIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, DOWNLOADED_PACKAGE_NAME);
installIntent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
installIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);

startActivityForResult(installIntent, REQUEST_INSTALL); 
  • 但是我在尝试安装软件包时无法设置默认安装程序。
  • 一旦我的安装意图被触发,就会显示以下提示,要求用户选择一个默认应用程序来处理不需要的意图。
  • 不应向用户显示此提示。
  • 所需的行为是在下载完成后开始安装包,就像 Google Play 一样。
  • 单击安装按钮--> 下载--> 询问权限--> 安装。

如何避免这个提示?

仅从 4.2 开始添加此功能。

在此处输入图像描述

4

1 回答 1

4

问题解决了。

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.PackageInstallerActivity");
于 2014-01-17T20:54:51.037 回答