java - 完成后以编程方式关闭 ACTION_VIEW 对话框

标签 java android updates

我们有一个允许用户手动更新应用程序的流程,因为我们的设备没有任何应用程序商店。我们从我们的服务器下载 apk 并运行:

updateIntent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
updateIntent.setData(contentUri);
updateIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

contentUri 指向我们存储的 APK 的位置。安装运行时,应用程序关闭。然后,完成后出现以下屏幕:

当我们收到 MY_PACKAGE_REPLACED Intent 时,我们会立即重启我们的应用程序。问题是此屏幕保留在后台。

我如何以编程方式关闭它?

我试过:

// Dismiss all system ui messages
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);

但它不适用于这种类型的对话框

最佳答案

尝试添加 EXTRA_RETURN_RESULT 标志:

updateIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true);

关于java - 完成后以编程方式关闭 ACTION_VIEW 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59238161/

相关文章:

java - 如何将对象添加到我无法编辑的类中

ios - 我应该避免为新版本更改 iOS 应用程序的 CFBundleName 吗?

ios - Apple IOs 更新,旧版本会保留吗?

java - 如何跟踪发送到服务器的 xml

java - 无法在AWS中创建新项目

java - 将对象传递给 fragment Activity 并从 fragment 写入对象的正确方法

android - 当应用程序被杀死或销毁时如何启动 Intent 服务?

linux - Android Studio 无法更新

java - Vector<> 类的 toArray() 方法

android - 如何知道双 SIM 安卓手机中哪个 SIM 卡正在消耗移动数据?