【问题标题】:Why extra data (integer) is not sent in android notification intent?为什么在android通知意图中没有发送额外的数据(整数)?
【发布时间】:2012-05-04 21:58:30
【问题描述】:

以下代码显示通知并发送 int 数据,但在其他活动中getExtras() 返回null。为什么?

int notificationID = 1;
NotificationManager nm = (NotificationManager) getSystemService(getApplicationContext().NOTIFICATION_SERVICE);


Intent i = new Intent(getApplicationContext(), DownlodResult.class);
i.putExtra("notificationID", 1);


PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, i, 0);


CharSequence tickerText = "There are updates !";
long when = System.currentTimeMillis();
int icon = R.drawable.ic_launcher;
Notification notification = new Notification(icon,tickerText,when);
CharSequence contentTitle = "There are updates";
CharSequence contentText = "Please click here to view it";
notification.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent);



notification.vibrate = new long[] { 100, 250, 100, 500}; // Needs vibrate permissions
nm.notify(notificationID, notification);

【问题讨论】:

    标签: android android-intent android-pendingintent


    【解决方案1】:

    可能 PendingIntent 已经存在并且没有被创建,而是被重用了。尝试使用PendingIntent.FLAG_UPDATE_CURRENT 标志创建它:

    PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
    

    请参阅https://stackoverflow.com/a/9330144/530804 和该问题的其他答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多