1.執(zhí)行ADB命令 adb shell am broadcast -a android.intent.action.REBOOT
2.使用PowerManager
2.使用PowerManager
import android.content.Context; import android.os.PowerManager; public class RebootDevice { public static void reboot(Context context) { PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); powerManager.reboot(null); } }
需要增加權(quán)限:<uses-permission android:name="android.permission.REBOOT" />
3. 應(yīng)用程序自動(dòng)重啟
有時(shí),我們希望在應(yīng)用程序崩潰或發(fā)生意外關(guān)閉時(shí)自動(dòng)重啟應(yīng)用程序。可以使用Thread.UncaughtExceptionHandler來(lái)實(shí)現(xiàn)這一功能。
import android.app.Application; import android.content.Intent; public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler()); } private class MyExceptionHandler implements Thread.UncaughtExceptionHandler { @Override public void uncaughtException(Thread thread, Throwable ex) { // 重啟應(yīng)用程序 Intent intent = getBaseContext().getPackageManager() .getLaunchIntentForPackage(getBaseContext().getPackageName()); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); System.exit(0); } } }
以上代碼將在應(yīng)用程序崩潰時(shí)自動(dòng)重啟應(yīng)用程序。
浙公網(wǎng)安備 33010602011771號(hào)