多个通知的待定​​意向

Pending Intent for more than one notification

我有发送通知的应用程序,我将此代码用于未决意图

  Intent myIntent = new Intent(getApplicationContext(),MainActivity.class);
  myIntent.putExtra("link",Link);

  PendingIntent intent2 =  
  PendingIntent.getActivity(getApplicationContext(),1,myIntent, 
  PendingIntent.FLAG_ONE_SHOT);

它第一次运行良好,但我在每 1 分钟调用一次的方法中使用了这段代码。

问题是 link 变量从一个变为另一个。

当我在 MainActivity 中获取数据时,我只找到了最后一个 link,所有创建的通知都有最后一个 link。

而且我不知道如何避免这种情况。

您正在为待处理的意向发送相同的请求代码。这些代码被定义为您的待定意图声明的第二个参数

改变

PendingIntent intent2 =  
  PendingIntent.getActivity(getApplicationContext(),1,myIntent, 
  PendingIntent.FLAG_ONE_SHOT);

收件人:

PendingIntent intent2 =  
  PendingIntent.getActivity(getApplicationContext(),UNIQUE_INT_VALUE_FOR_EVERY_CALL,myIntent, 
  PendingIntent.FLAG_ONE_SHOT);

如果使用相同的id,intent会被重复使用,每次调用都只会获取最后的数据,不会获取新的数据。

试试这个,

  PendingIntent contentIntent = PendingIntent.getActivity(GCMNotificationIntentService.this, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);