要实现Android应用一键重启,可以使用以下代码:
public void restartApp() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
int mPendingIntentId = 123456;
PendingIntent mPendingIntent = PendingIntent.getActivity(getApplicationContext(), mPendingIntentId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);
System.exit(0);
}
在需要重启的地方调用 restartApp()
方法即可。这个方法会创建一个 PendingIntent
,并设置一个延迟时间,然后使用 AlarmManager
发送一个闹钟事件,当闹钟事件触发时,会启动指定的 MainActivity
,从而实现应用的重启。
注意事项:
AndroidManifest.xml
文件中为 MainActivity
添加相应的 <intent-filter>
,确保其他的 Activity
不会被重启。System.exit(0)
,这个方法会直接退出应用,如果需要保存一些数据或状态,需要在退出前进行相应的处理。