我有一个设备所有者的应用。这是带有固定屏幕的信息亭应用。它通过从远程服务器下载.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。