等待多个通知的意图

ios*_*med 1 notifications android android-pendingintent

我有用于发送通知的应用,我将这段代码用于待处理的意图

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

  PendingIntent intent2 =  
  PendingIntent.getActivity(getApplicationContext(),1,myIntent, 
  PendingIntent.FLAG_ONE_SHOT);
Run Code Online (Sandbox Code Playgroud)

并第一次很好地工作,但是我在每1分钟调用一次的方法中使用了这段代码。

问题在于link变量从一个变为另一个。

当我在中MainActivity找到数据时,仅找到最后一个链接,所有创建的通知都具有最后一个链接。

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

Kap*_*l G 5

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

更改

PendingIntent intent2 =  
  PendingIntent.getActivity(getApplicationContext(),1,myIntent, 
  PendingIntent.FLAG_ONE_SHOT);
Run Code Online (Sandbox Code Playgroud)

至:

PendingIntent intent2 =  
  PendingIntent.getActivity(getApplicationContext(),UNIQUE_INT_VALUE_FOR_EVERY_CALL,myIntent, 
  PendingIntent.FLAG_ONE_SHOT);
Run Code Online (Sandbox Code Playgroud)

如果您使用相同的ID,则该意图将被重用,并且您只会获得最后的数据,而不是每次调用都获得新的数据。