最近搞一个Android的项目,做一个远端重启设备的功能,但因为Android的安全体系所以一直没成功;于是将思路转为重启APP,一试即成功。现将经验分享如下:
一、整体重启,临时数据清空(推荐)。
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);
网友评论