让我解释一下我想做什么。我有SignUp活动,登录活动和主要活动。注册活动是登录活动的父活动,这意味着如果用户按后退软键,就可以返回它。一旦我从注册到主要活动,我就清除所有活动实例。
现在我关心的是,如果我在主活动中从注册模式转到来宾模式,请注意登录活动实例将被清除,然后单击后退注册/注册活动。我想知道它是来自父活动,即登录活动还是主要活动。
发布于 2017-01-30 15:12:54
你可以简单地在你的意图上加上一点:
Intent intent = new Intent(CallingActivity.this, ActivityToStart.class);
intent.putExtra("startedFrom", CallingActivity.class.toString());
startActivity(intent);在新开始的活动中进行适当的检查:
if(getIntent().getExtras().getString("startedFrom", null) != null) {
//You were started from the specified Activity
}如果使用startActivityForResult()启动活动,则可以跳过上述步骤,只需使用getCallingActivity()
发布于 2017-01-30 15:07:46
您可以检查是否正在运行:
public boolean isRunning(Context ctx) {
ActivityManager activityManager =
(ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (RunningTaskInfo task : tasks) {
if (ctx.getPackageName().equalsIgnoreCase(task.baseActivity.getPackageName()))
return true;
}
return false;
}https://stackoverflow.com/questions/41939044
复制相似问题