我想在用户点击通知时向活动发送额外信息。正确接收附加内容,但在用户单击通知时重置活动。我想保持当前活动,而不是在它已经打开时重新启动它。
这是我创建通知的方式:
Intent notifIntent = MyActivity.getIntent();
notifIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
NotificationCompat.Builder(context)
.setContentIntent(PendingIntent.getActivity(context, notificationId, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT))
但MyActivity总是重新启动,尽管它已经在前台运行。
答案 0 :(得分:0)
您可以使用包管理器。
如果您的应用已在运行,则无法重新启动您的应用。 但是,如果您在app处于后台或关闭时收到通知,则会打开。
PackageManager packageManager = getPackageManager();
Intent notifIntent = packageManager.getLaunchIntentForPackage(com.example.testapp);
PendingIntent pendingIntent = PendingIntent.getActivity(context, notificationId, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder(context).setContentIntent(pendingIntent);
但如果您只是发送通知的数据而没有开始任何活动,也许您可以使用本地广播?