为了账号安全,请及时绑定邮箱和手机立即绑定

通知点击:活动已打开

通知点击:活动已打开

茅侃侃 2019-11-25 13:57:51
我有一个带有通知的应用程序,如果我单击它们,通知会打开某些活动。我想要的是,如果我单击通知并且活动已经打开,则不会再次开始,而只是放在最前面。我以为我可以用标志FLAG_ACTIVITY_BROUGHT_TO_FRONT或进行操作FLAG_ACTIVITY_REORDER_TO_FRONT,但它会再次打开,因此我有两次活动。这是我的代码:event_notification = new Notification(R.drawable.icon,            mContext.getString(R.string.event_notif_message), System.currentTimeMillis()); Intent notificationIntent = new Intent(mContext, EventListActivity.class);notificationIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);sendNotification(event_notification, notificationIntent, mContext.getString(R.string.event_notif_title),                body, Utils.PA_NOTIFICATIONS_ID);我可以使用标志来管理它还是应该在SharedPreferences中存储一个变量以检查它是否已打开?谢谢!
查看完整描述

3 回答

?
米脂

TA贡献1836条经验 获得超3个赞

您需要设置launchMode的属性Activity你开始singleTop。这将导致将传入的Intent传递到现有实例,而不是在一个Activity已经位于任务堆栈顶部的新实例启动。

这是通过添加android:launchMode="singleTop"<activity>元素在清单中完成的。要访问最新的意向(如果你有兴趣可以与它已通过任何数据),覆盖onNewIntent()在你的Activity


查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 356 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信