android - 更新后Android重启应用程序
问题描述
我有一个设备所有者的应用程序。它是带有固定屏幕的信息亭应用程序。它通过从远程服务器下载 .apk 并使用 PackageInstaller 静默安装来更新自身。
但是,更新完成后,应用程序关闭并显示平板电脑的默认屏幕图标(我不希望这样,因为我的应用程序是信息亭应用程序,它不应该允许用户控制平板电脑)。
问题是:更新完成后如何重新启动我的应用程序?
我已经尝试过:
AndroidManifest.xml:
<receiver android:name=".PackageReplacedReceiver">
<intent-filter>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
PackageReplacedReceiver.java
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_MY_PACKAGE_REPLACED.equals(intent.getAction())) {
ApplicationInfo app = new ApplicationInfo();
Intent LaunchIntent = context.getPackageManager().getLaunchIntentForPackage(app.packageName);
context.startActivity(LaunchIntent);
}
}
但是,更新完成后,我的应用程序永远不会重新启动。
我使用 compileSdkVersion 29、minSdkVersion 23、targetSdkVersion 29。
解决方案
推荐阅读
- c - 如何限制第一个读者作者问题中的并发读者数量?
- javascript - 如何为每个 Discord 服务器(公会)单独设置命令?
- flutter - 设置共享首选项时颤振抛出空异常
- opencv - Camerax ImageCapture 传递给 Chaquopy 太慢了
- sum - 我如何(求和)列表的输出?
- tsql - T-SQL:在多个分隔符上拆分字符串
- json - Lottie:如何从 JSON 文件中获取图像
- google-bigquery - BigQuery,连接来自不同数据集的表
- python-3.x - 在 map 函数调用 concurrent.futures.ThreadPoolExecutor 期间延迟线程启动
- php - 在 MySQL 数据库表中更新具有不同值的多行