根据业务逻辑要求,需要判断当前的activity是否是之前栈顶的activity,也就是需要判断是否是从后台返回的activity。
引用代码如下:
@Override
protected void onResume() {
super.onResume();
//只有后台还原(还原时栈顶为当前activity),才执行
if (getTopActivity(this).contains(this.getClass().getSimpleName())) {
}
}
判断代码如下:
/**
* 获取栈顶的activity
*/
String getTopActivity(Activity context) {
String shortClassName = "";
ActivityManager manager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1);
if (runningTaskInfos != null) {
ActivityManager.RunningTaskInfo info = runningTaskInfos.get(0);
shortClassName = info.topActivity.getShortClassName(); //类名
}
return shortClassName;
}
近期评论