Androidアプリケーションの自動再起動
1562 ワード
アプリケーションに問題が発生し、手動でアプリケーションを再起動できない場合は、リモート制御プログラムの再起動が必要です.例えば、プッシュ、アプリケーションがプッシュを受信し、restartAPP()メソッドを呼び出し、Appを再起動することができます.*APP全体を再起動*@param context/public static void restartAPP(Context context){/本APP/Intent=new Intent(context,RestartService. class);intent.putExtra(「packageName,context.getPackageName();context.startサービス(intent);/プロセス全体を殺す/android.os.Process.killProcess(android.os.Process.myPiPicess.myPiPiPiPipiid.os.myPiPicess d();}/***Created by wangfengkai on 2017/6/22. */public class RestartService extends Service{//アプリケーションを閉じてからどのくらいでprivate static long stopDelayed=2000;private Handler handler;private String packageName;public KillSelfService(){handler=new Handler();}
AndroidManifestでxmlにサービスを登録する
@Override
public int onStartCommand(final Intent intent, int flags, int startId) {
packageName = intent.getStringExtra("packageName");
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(packageName);
startActivity(LaunchIntent);
RestartService.this.stopSelf();
}
}, stopDelayed);
return super.onStartCommand(intent, flags, startId);
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
AndroidManifestでxmlにサービスを登録する