私はこのコードに従っています: How to get RegistrationID using GCM in android
しかし、受信したメッセージTextView
で更新したい。MainActivity
サービスからUIを更新する方法がわからない理由を教えてください
私はこのコードに従っています: How to get RegistrationID using GCM in android
しかし、受信したメッセージTextView
で更新したい。MainActivity
サービスからUIを更新する方法がわからない理由を教えてください
ここではブロードキャスト レシーバーを使用することをお勧めします。そのIntentService
ため、イベントをブロードキャストし、すべてのアクティビティまたはその他の何かを登録できます。
それ自体のやり過ぎを避けるためにBroadcastReceivers
(プロセス間通信で使用することを意図しており、やり過ぎやセキュリティリークになる可能性があるため)LocalBroadcastManager
- http://developer.android.com/reference/android/support/v4/を使用することをお勧めしますcontent/LocalBroadcastManager.html . これは厳密にローカルなブロードキャストのヘルパーであり、処理を容易にし、パフォーマンスとセキュリティを向上させます。
アップデート:
GCM IntentService 内で LocalBroadcastReceiver を使用するには、次のようにする必要があります。
@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);
}
ここで、アクティビティ内でレシーバーを登録する方法を確認できます。とても簡単です。LocalBroadcastManager の使用方法は?
幸運を