Android - 意图问题

时间:2011-07-20 10:38:21

标签: android android-intent

我有远程服务,当特定时间到来时,我会显示通知。在通知中我添加额外的值(例如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值...如果是这样的话怎么办?

2 个答案:

答案 0 :(得分:2)

您需要为getActivity方法传递第二个参数的唯一编号

这是确定结果代码对于相同或不同的意图是不同的

  PendingIntent contentIntent = PendingIntent.getActivity(this, unique_number,intent, 0); 
通知

的notify()方法中的

相同

答案 1 :(得分:0)

尝试接收器

int v = Integer.parseInt(extras.getString("k"));而不是