2011-10-13 51 views
0

我在編寫使用C2DM服務的應用程序時遇到問題。一切正常,但我擔心註冊ID可能會改變,並且當我將它發送到我的服務器時,我想發送一個很好的註冊ID。 當用戶登錄時,我發送一個請求並獲得一個註冊ID。在用戶登錄之前,C2DM必須工作。但是,我真的可以檢查註冊ID是否已更新,因此我可以再次將它發送到服務器?我知道有像LAST_REGISTRATION_CHANGE,但這就是所有...有關如何比較當前註冊ID與最後一個(或類似的東西)的任何想法?謝謝!Android C2DM LAST_REGISTRATION_CHANGE?

+0

你能夠得到,當它改變即從​​C2DM接收機 –

+0

新REG_ID不,我不是。我只有一次獲得REG_ID,然後我不檢查更新...你的意思是我應該'聽'廣播接收機,並更新我有一個新的時候會有REG_ID?你可以發表一些關於如何做到這一點的示例代碼?謝謝! – lomza

+1

是的,你是這樣做的...如果有任何問題,我會發布代碼..否則,你可以簡單地實現 –

回答

1

因此,最終你的問題得到解決:我附上一部分接收器的代碼供其他人幫忙。

*

public class C2DMReceiver extends BroadcastReceiver { 
     private Context context; 
     private String key; 
     private String textExpand; 
     private String text; 
     private boolean flag = false; 

     @Override 
     public void onReceive(Context context, Intent intent) { 
      this.context = context; 
      Log.e("TAG", "Action : " + intent.getAction()); 
      Set<String> set = intent.getExtras().keySet(); 

      Iterator<String> iterator = set.iterator(); 
      while (iterator.hasNext()) { 
       key = iterator.next(); 
       Log.v("TAG", key + " : " + intent.getStringExtra(key)); 
    } 

}}

*