我需要在单击按钮时重启我的应用程序,有关更多信息,我需要模拟我按下键并再次打开应用程序。
我想我可以用finish();
关闭申请,但我该如何再次启动onCrete()
?
还有其他办法吗?
感谢
答案 0 :(得分:2)
使用Intent调用您的Activity。它将再次启动该活动。
Intent intent = new Intent(MyActivity.this, MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //this will always start your activity as a new task
startActivity(intent);
您还可以在Manifest中添加android:launchMode="singleTask"
,以便任何时候只保留一个活动实例。
同样的事情here.:)
答案 1 :(得分:0)
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
答案 2 :(得分:0)
要重新启动应用程序,您可以使用警报管理器在退出应用程序后打开活动。
AlarmManager alm = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
alm.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), 0));
android.os.Process.sendSignal(android.os.Process.myPid(), android.os.Process.SIGNAL_KILL);