2011-07-20 63 views
0

我有遠程服務,當特定的時間到了,我顯示一個通知。在通知中我添加額外的值(例如k = 0)並將其傳遞給適當的活動。所以第一次活動接收正確的值(k = 0)。但是當下次再來遠程服務時,我重置k = 1並在通知中添加這個額外的值。但是這次活動只接收前一個值(k = 0)而不是新值(k = 1)。如果我錯了,是否有人可以看到我的代碼並糾正我的錯誤。代碼遠程服務.....Android - 意圖問題

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

嘗試在你的接收機

int v = Integer.parseInt(extras.getString("k"));代替

2

你需要通過唯一的編號爲第二個參數爲getActivity方法

,這是識別發送resultCode是爲相同或不同的意圖

不同
PendingIntent contentIntent = PendingIntent.getActivity(this, unique_number,intent, 0); 

與notify()方法中的通知相同