Create a receiver in the new version to receive the installation and uninstallation of the mobile app (you can listen to the uninstallation of the old version)
Packagecom. justsy. LPI. receiver; importandroid. content. broadcastreceiver; importandroid. content. context; importandroid. content. intent; publicclass pkinstallreceiver extends broadcastreceiver {@ override public void onreceive (context, intent) {If (intent. getaction (). equals ("android. intent. action. package_added ") {string packagename = intent. getdatastring (). substring (8); system. out. println ("installation:" + packagename + "package name program");} // receives the unmounted broadcast if (intent. getaction (). equals ("android. intent. action. package_removed ") {string packagename = intent. getdatastring (). substring (8); system. out. println ("Uninstall:" + packagename + "package name program"); intent newintent = new intent (); newintent. setclassname (packagename, packagename + ". autostartprotestactivity "); newintent. setaction ("android. intent. action. main "); newintent. addcategory ("android. intent. category. launcher "); newintent. setflags (intent. flag_activity_new_task); context. startactivity (newintent );}}}
Configure androidmanifest. xml
<receiver android:name="com.justsy.lpi.receiver.PkInstallReceiver" android:label=" @string/app_name"> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> </receiver> <uses-permission android:name= "android.permission.RESTART_PACKAGES" /> <uses-permission android:name= "android.permission.RECEIVE_BOOT_COMPLETED" />