Android APP的自动重启

  • 2019 年 10 月 5 日
  • 筆記

最近搞一个Android的项目,做一个远端重启设备的功能,但因为Android的安全体系所以一直没成功;于是将思路转为重启APP,一试即成功。现将经验分享如下:

一、整体重启,临时数据清空(推荐)。

Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());  intent.putExtra("REBOOT","reboot");  PendingIntent restartIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_ONE_SHOT);  AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);  mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent);  android.os.Process.killProcess(android.os.Process.myPid());

二、软件重启,不清临时数据。

Intent intent = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());  intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//与正常页面跳转一样可传递序列化数据,在Launch页面内获得  intent.putExtra("REBOOT","reboot");  startActivity(intent);