android-如何触发通知onclick事件?或者如何仅在用户点击时获取数据

标签 android android-intent notifications android-pendingintent google-cloud-messaging

我有一个带有通知生成器的应用程序。我能够接收并生成多个通知。我现在的问题是我怎么知道用户点击了哪个通知?每个通知的行为可能不同,并且我的应用中最多同时有 5 个通知。我在网上搜索过,没有发现任何关于 onClick 事件的通知....

我发现onNewIntent 可以提供帮助,但它不稳定...因为在用户单击通知之前 Activity 可能会被系统终止。 有人可以帮忙吗??

谢谢!!

最佳答案

我建议您将数据添加到通知的 Intent 中。

例如。

intent.putExtra("Notification_id", id)//你可以让这个id成为系统时间或者一些唯一的标识符。

(或者您可以将它添加到您的额外包中,而不仅仅是放置额外包。)

然后当你去打开 Intent 时你可以检查id。

id = intent.getExtra("Notification_id")

希望这对您有所帮助。如果您有任何问题或需要更多详细信息,请告诉我。

更新:您必须在 Intent 中添加数据并稍后在您的 onNewIntent() 和 onResume() 中读取它。然后,在完成您需要做的任何事情后,您可以从 Intent 中删除多余的部分。还添加某种独特的数据,如 System.currentTimeMillis(),然后它将防止 Intent 被重用。

关于android-如何触发通知onclick事件?或者如何仅在用户点击时获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17799364/

相关文章:

android - 更改 MediaPlayer 的缓冲大小/间隔

java - 在 Android 上使用 OpenGL 绘制视频帧

android - 在android中将 View 从一个坐标转换到另一个坐标

android - 清除任务并开始新的 Activity

Android 以编程方式调用电话号码

android - 如何在 Android 中将 ArrayList<Users> 从子 Activity 移动到父 Activity

ios - 发布推送通知应用程序

android - 使用 google mlkit 视觉样本减少跟踪窗口

android - 如何查找 whatsapp 的通知 ID

java - extras(通知文本)未通过