PendingIntent 不适用于通知
PendingIntent not working on notification
我正在显示多个通知,每个通知都有自己的 ID,因此所有通知都可以正确显示。我的问题是,当单击最后一个通知时,使用的 PendingIntent 是第一个而不是最后一个。我不明白为什么会这样,因为我正在使用 FLAG_ONE_SHOT。这是一段代码:
final PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_ONE_SHOT);
notificationBuilder.setContentIntent(pendingIntent);
提前致谢!
使用不同的 requestCode
待定意向而不是“0”。
final PendingIntent pendingIntent = stackBuilder.getPendingIntent(your_id,
PendingIntent.FLAG_ONE_SHOT);
如果您想维护所有具有唯一 ID 的通知,那么这可能对您有所帮助。
private PendingIntent getContentIntent(String key, Context context, int currentTimeStamp) {
Intent intent = new Intent();
intent.setComponent(getComponentName(context));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
return PendingIntent.getActivity(context, currentTimeStamp, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
此方法将return您待定的意图对象
更改您的待处理意向 ID。使用不同的代替 0
我正在显示多个通知,每个通知都有自己的 ID,因此所有通知都可以正确显示。我的问题是,当单击最后一个通知时,使用的 PendingIntent 是第一个而不是最后一个。我不明白为什么会这样,因为我正在使用 FLAG_ONE_SHOT。这是一段代码:
final PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_ONE_SHOT);
notificationBuilder.setContentIntent(pendingIntent);
提前致谢!
使用不同的 requestCode
待定意向而不是“0”。
final PendingIntent pendingIntent = stackBuilder.getPendingIntent(your_id, PendingIntent.FLAG_ONE_SHOT);
如果您想维护所有具有唯一 ID 的通知,那么这可能对您有所帮助。
private PendingIntent getContentIntent(String key, Context context, int currentTimeStamp) {
Intent intent = new Intent();
intent.setComponent(getComponentName(context));
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
return PendingIntent.getActivity(context, currentTimeStamp, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
此方法将return您待定的意图对象
更改您的待处理意向 ID。使用不同的代替 0