java - 如何在待定 Intent 中设置两个 Intent

标签 java android android-intent android-notifications

可以设置多个启动 Intent ,例如,当用户点击通知时。

让我解释一下我的具体问题:

我有一个带通知的应用程序。每个通知都会打开一个不同的 Activity (也有不同的附加功能)。

现在我想提取有关通知使用情况的信息。因此,每次打开通知时,我都想启动一项带有一些附加功能的服务。

我想在不修改现有 Activity 的情况下实现它,因为它们对更改没有“责任”。

理想情况下伪代码应该是这样的:

Intent originalActivityIntent=...;
Intent notificationsAnalyticsIntent=getRegisterNotificationClick(notificationId,username);
PendingIntent pi= PendingIntent.multiple(
                                   context,
                                   originalActivityIntent,
                                   notificationsAnalyticsIntent)

点击通知时启动两个 Intent 。

编写某种服务/广播接收器可能非常复杂,因为我需要为每个 Activity 处理不同的参数。

关于如何保持清洁的任何想法?

最佳答案

没有。

我们解决这个问题的方法是,应用程序中的每个 Activity 都从一些基本 Activity 扩展,并且在每个通知中我们传递一个额外的 Intent 以让基本 Activity 处理它。

关于java - 如何在待定 Intent 中设置两个 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30480288/

相关文章:

java时区名称 'summer'应该是 'daylight'

java.io.FileNotFoundException :/storage/emulated/0/Android/data/MyApplication/MyFile. ICS。 (没有这样的文件或目录)/Android Studio/Ical4j

android - 使用 Tasker 应用程序检测在 Android 中拍摄的照片

android - 如何在一个应用程序之间向android中的另一个应用程序发送数据?

Java android如何使用联系人选择器

java - List<?> 的 Lambda 等效项使用属性 A 进行比较并返回属性 B

Java CardLayout 不显示

android - Android TextView 中的 Linkify

android - 如何在 Android 上的多个 Activity 之间发送回值

java - 无法在 Apache Jena 生成的 XML 中显示 UTF-8 编码