从我自己的服务器下载的自定义apk更新我的应用程序

时间:2018-03-07 02:43:43

标签: android upgrade kiosk

我正在尝试使用此代码从我的服务器下载自定义apk后升级我的应用

Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(new File(path)),
"application/vnd.android.package-archive");
startActivity(i);

应用程序安装正确,但问题是安装后会显示带有完成/打开按钮的提示。我想在安装后立即打开应用程序而不显示此完成/打开提示,因为它是一个自助服务终端应用程序。如果用户按下完成按钮应用程序将不会打开,它将退出自助服务终端模式。

我尝试使用PackageReceiverstartActivityForResult方法,但它们无法正常工作,因为我正在为自己的应用安装apk,所以它会关闭。

安装后是否只需打开新安装的apk?

1 个答案:

答案 0 :(得分:0)

添加到清单:

<uses-permission android:name="android.permission.INSTALL_PACKAGES"
    tools:ignore="ProtectedPermissions" />

并添加代码:

File sdCard = Environment.getExternalStorageDirectory();
            String fileStr = sdCard.getAbsolutePath() + "/MyApp";
            File file = new File(fileStr, "app.apk");
            Intent promptInstall = new Intent(Intent.ACTION_VIEW).setDataAndType(Uri.fromFile(file),
                    "application/vnd.android.package-archive");
            startActivity(promptInstall);