我一直遵循這個代碼:How to get RegistrationID using GCM in android更新UI從servvice
,但我想更新MainActivity
與接收消息的TextView
。 請幫助我爲什麼我不知道如何從服務更新UI
我一直遵循這個代碼:How to get RegistrationID using GCM in android更新UI從servvice
,但我想更新MainActivity
與接收消息的TextView
。 請幫助我爲什麼我不知道如何從服務更新UI
我建議在這裏使用廣播接收器。所以IntentService
將廣播該事件,並且所有活動或其他東西都可以註冊。
爲了避免BroadcastReceivers
本身矯枉過正(因爲它們是在intented進程間通信中使用,並且可以是矯枉過正和安全泄漏) - I reccoment使用LocalBroadcastManager
- http://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html。它是嚴格本地廣播的幫手,更容易處理它們並提供更高的性能和安全性。
更新:
要使用LocalBroadcastReceiver GCM IntentService裏面你應該做這樣的事情:
@Override
protected void onMessage(Context context, Intent intent) {
Intent bIntent = new Intent("custom-event-name");
// You can also include some extra data.
bIntent .putExtra("message", intent); //or get some info from Gcm intent and put it into this one.
LocalBroadcastManager.getInstance(context).sendBroadcast(bIntent);
}
在這裏你可以查看如何註冊活動裏面的接收器,這是很容易: how to use LocalBroadcastManager?
好運
感謝alexn,我是機器人的新手,請將修改應用於代碼並顯示我...對不起我的英語。 – Antonio
其實,甚至沒有必要粘貼一個代碼 - 主題在這裏描述的細節:http://stackoverflow.com/questions/8802157/how-to-use-localbroadcastmanager希望它有助於 – AlexN
但我不知道浩申請代碼爲什麼收到擴展GCMBaseIntentService ....請幫我... – Antonio