【问题标题】:Pending Intent for more than one notification多个通知的待处理意图
【发布时间】:2017-08-08 21:41:09
【问题描述】:

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

  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 中获取数据时,我只找到了最后一个链接,所有创建的通知都有最后一个链接。

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

【问题讨论】:

    标签: android notifications android-pendingintent


    【解决方案1】:

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

    改变

    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 将被重用,您将只获取最后一个数据,而不是每次调用都获取新数据。

    【讨论】:

    • 非常乐意提供帮助。 :)
    【解决方案2】:

    试试这个,

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      相关资源
      最近更新 更多