要實現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)
,這個方法會直接退出應用,如果需要保存一些數據或狀態,需要在退出前進行相應的處理。