多个通知的待定意向
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);
我有发送通知的应用程序,我将此代码用于未决意图
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);