我在通知中使用此代码,因此当用户点击通知时,MainActivity会启动:
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0);
如果用户使用后退按钮退出应用并点击通知,则主要活动开始,但如果用户使用主页按钮退出应用,则新的MainActivity将从第一个开始。如何检测MainActivity是否已加载?
Thkx
答案 0 :(得分:0)
您应该向Intent添加标志以指定此行为。像FLAG_ACTIVITY_CLEAR_TOP
这样的东西可能就是你要找的东西。这将完成MainActivity之上的任何活动(如果有的话)并将任何现有实例带到前台。如果没有可用的实例,则将创建一个实例。根据您的launchMode
,您将获得onNewIntent()
的回调(接收您提供的新意图),或者使用新的意图重新创建活动。
Intent mainIntent = new Intent(this, MainActivity.class);
mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent.getActivity(this, 0, mainIntent, 0);