如何检查活动是否已在运行,如果是,请重新启动活动?
目前,我正在使用此代码启动活动。但是,如果活动NewActivity已经运行,我想重新启动它(或发送广播)?
Intent intent = new Intent(this, NewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(EXTRA_STRING, true);
startActivity(intent);
return;
答案 0 :(得分:1)
如果NewActivity
已经在运行,那么只需使用此技巧重启。
Intent intent = new Intent(this, NewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(EXTRA_STRING, true);
finish();
startActivity(intent);
答案 1 :(得分:0)
如果您当前的活动是NewActivity,并且您希望自行重新启动它而不是使用
重新创建();
如果当前任何其他活动都在前台而不是使用
Intent intent = new Intent(this, NewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.putExtra(EXTRA_STRING, true);
startActivity(intent);
finish();
FLAG_ACTIVITY_CLEAR_TASK将清除活动堆栈中可用的所有其他活动,而FLAG_ACTIVITY_NEW_TASK将为您启动新任务NewActivity