Android中的更改通知意图

Android中的更改通知意图,android,android-intent,android-service,android-notifications,Android,Android Intent,Android Service,Android Notifications,我有一个服务,它显示一个通知,我希望每次用户按下它时,它都能转到我的应用程序的特定活动。通常,它将是用户显示的最后一个,但并不总是 如果活动以前启动过,它应该返回到它,如果没有,它应该在应用程序的任务中打开它,并将其添加到活动任务中 此外,在某些情况下,根据服务的逻辑,我希望更改通知的意图,以便它针对不同的活动 我该怎么做?是否可以不创建新通知并取消前一个通知?也可以不创建新任务或活动实例吗?否发送通知后,就无法更改活动 您可以在任务堆栈上启动一个没有问题的活动,请在此处查看教程中的通知服务:

我有一个服务,它显示一个通知,我希望每次用户按下它时,它都能转到我的应用程序的特定活动。通常,它将是用户显示的最后一个,但并不总是

如果活动以前启动过,它应该返回到它,如果没有,它应该在应用程序的任务中打开它,并将其添加到活动任务中

此外,在某些情况下,根据服务的逻辑,我希望更改通知的意图,以便它针对不同的活动


我该怎么做?是否可以不创建新通知并取消前一个通知?也可以不创建新任务或活动实例吗?

否发送通知后,就无法更改活动

您可以在任务堆栈上启动一个没有问题的活动,请在此处查看教程中的通知服务:

您必须在通知上设置挂起的意图:

        // The PendingIntent to launch our activity if the user selects this notification
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, SecondActivity.class), 0);

        // Set the info for the view that shows in the notification panel.
        notification.setLatestEventInfo(this, title, text, contentIntent);

您可以看到挂起的意图采用普通意图“
new intent(this,SecondActivity.class
”,因此,如果您想要特定的行为(例如,带到顶部而不是开始一个新的活动),请添加与此意图类似的标志。即()

自平台版本11以来,您可以使用notification.Builder生成通知。v4支持库具有等效的类NotificationCompat.Builder

发送通知后,您无法更改活动,但可以使用新的意图更新通知。创建挂起内容时,请使用标志“取消”或“当前”。发送新通知时,请在调用NotificationManager.notify()时使用现有通知的ID


此外,启动应用程序时也要小心。状态栏通知指南会告诉你如何设置后台堆栈。

我一直在尝试。如果不是这样的话,很抱歉。那么你说我不能修改通知的意图?在使用不同方式创建通知的安卓新版本上也是如此吗?@androidde开发者:是的,在将其发送到系统后,您不能修改它。不过,您可以发送不同的通知,这很好。我明白了。为什么这是不可能的,但更改通知中的视图是可能的?我甚至看到一个在通知中显示更新图的应用程序。我确信这是不可能的,因为我认为这非常重要功能有限,就像appWidgets一样。@androiddeveloper如果你认为可能的话,试试它。当你有一些代码可以/不可以工作时,请回到stackoverflow。这只是一件奇怪的事情。谢谢你的帮助。你现在会得到“V”和+1.)我不确定我是否理解。您可以通过什么方式更改通知的意图?是否可以添加/修改该意图的额外数据?您将如何使其转到您希望的任何活动?通过将活动的类名添加到额外数据?