【问题标题】:Updating my app from custom apk downloaded from my own server从我自己的服务器下载的自定义 apk 更新我的应用程序
【发布时间】:2018-08-15 01:04:55
【问题描述】:

在使用此代码从我的服务器下载自定义 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?

【问题讨论】:

    标签: android upgrade kiosk


    【解决方案1】:

    添加到清单:

    <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);
    

    【讨论】:

    • 我已经尝试将此权限添加到清单中,但这没有帮助,包管理器提示完成/打开仍然显示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多