1. Laden Sie den Code direkt hoch. Wenn Ihre App eine neue Version installiert, sendet das System drei Broadcasts. Wir müssen die Übertragung nur im Android-Programm registrieren und angeben, dass die Übertragung (android.intent.action.PACKAGE_REPLACED) nach Abschluss der Aktualisierungsanwendung empfangen werden soll. Nach dem Empfang der Übertragung können Sie die App neu starten
/*android.intent.action.PACKAGE_REMOVED 卸载应用完成后收到
android.intent.action.PACKAGE_ADDED 安装应用完成后收到
android.intent.action.PACKAGE_REPLACED 更新应用完成后收到,
在此之前后先收到前两个广播(PACKAGE_REMOVED 然后是 PACKAGE_ADDED 最后是 PACKAGE_REPLACED )*/
class UninstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
//这里做重新启动app
ActivityManager manager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage("com.example.test");
}
}
2. Statische Registrierungsübertragung, Sie können auch die Code-Registrierungsübertragung auswählen
//在AndroidManifest.xml中定义如下
<receiver android:name=".UninstallReceiver">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.ACTION_PACKAGE_ADDED" />
<action android:name="android.intent.action.ACTION_PACKAGE_REPLACED" />
<action android:name="android.intent.action.ACTION_PACKAGE_REMOVED" />
</intent-filter>
</receiver>
3. Übertragung der Coderegistrierung
//注册广播
IntentFilter intentFilter = new IntentFilter();
UninstallReceiver uninstallReceiver = new UninstallReceiver();
intentFilter.addAction(Intent.SCREEN_ON);
intentFilter.addAction(Intent.BOOT_COMPLETED);
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addDataScheme("package");
registerReceiver(uninstallReceiver, intentFilter);
4. Sie können auch auf diesen Artikel verweisen
https://blog.csdn.net/u012346890/article/details/111516870