我如何重新启动一个Android活动?我尝试了下面的方法,但是这个活动就是退出了。
public static void restartActivity(Activity act){
Intent intent=new Intent();
intent.setClass(act, act.getClass());
act.startActivity(intent);
act.finish();
}
我如何重新启动一个Android活动?我尝试了下面的方法,但是这个活动就是退出了。
public static void restartActivity(Activity act){
Intent intent=new Intent();
intent.setClass(act, act.getClass());
act.startActivity(intent);
act.finish();
}
当前回答
public void onRestart() {
super.onRestart();
Intent intent=new Intent();
intent.setClass(act, act.getClass());
finish();
act.startActivity(intent);
}
试着用这个..
其他回答
public void onRestart() {
super.onRestart();
Intent intent=new Intent();
intent.setClass(act, act.getClass());
finish();
act.startActivity(intent);
}
试着用这个..
这个解决方案对我很有效。
首先完成活动,然后再开始。
示例代码:
public void restartActivity(){
Intent mIntent = getIntent();
finish();
startActivity(mIntent);
}
你问题的答案是:
public static void restartActivity(Activity act){
Intent intent=new Intent();
intent.setClass(act, act.getClass());
((Activity)act).startActivity(intent);
((Activity)act).finish();
}
您需要转换到活动上下文来启动新的活动以及完成当前活动。
希望这对我有用,对我有用。
如果你从一些片段调用,那么做下面的代码。
Intent intent = getActivity().getIntent();
getActivity().finish();
startActivity(intent);
我想知道为什么没有人提到Intent.makeRestartActivityTask(),它清楚地说明了这个确切的目的。
创建一个可以用来重新启动应用程序任务的Intent *在它的基态。
startActivity(Intent.makeRestartActivityTask(getActivity().getIntent().getComponent()));
这个方法设置Intent。|意图。FLAG_ACTIVITY_CLEAR_TASK作为默认标志。