我有远程服务,当特定时间到来时,我会显示通知。在通知中我添加额外的值(例如k = 0)并将其传递给适当的活动。所以第一次活动收到正确的值(k = 0)。但是当下一次再次来到remoteservice时,我重置k = 1并在通知中添加这个额外的值。但是这次活动只收到前一个值(k = 0)而不是新值(k = 1)。如果我错了,有些人可以看到我的代码并纠正我。远程服务代码.....
Notification notification = new Notification(R.drawable.tablet, text,System.currentTimeMillis());
Intent intent = new Intent(RemoteService.this, SnoozeActivity.class);
intent.putExtra("k",c);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,intent, 0);
notification.setLatestEventInfo(this, getText(R.string.remote_service_label),text, contentIntent);
myNM.notify(0, notification);
收件人代码......
Bundle extras = getIntent().getExtras();
if(extras !=null){
int v = extras.getInt("k");
Log.w("SnoozeActivity","k value : "+v);
}
是否可以在意图中重置putExtra值...如果是这样的话怎么办?
答案 0 :(得分:2)
您需要为getActivity方法传递第二个参数的唯一编号
这是确定结果代码对于相同或不同的意图是不同的
PendingIntent contentIntent = PendingIntent.getActivity(this, unique_number,intent, 0);
通知的notify()方法中的相同
答案 1 :(得分:0)
尝试接收器
int v = Integer.parseInt(extras.getString("k"));
而不是