onMessage 内から UI を更新したいと思います。
たとえば、更新の進行状況バーを使用します。どのように行うことができますか?
ネイサン
onMessage 内から UI を更新したいと思います。
たとえば、更新の進行状況バーを使用します。どのように行うことができますか?
ネイサン
それを理解するための良い答えがあります。また、これらのコードを使用してください。ur Activity の onResume に置くことで意図を得ることができます。
これらのコードを GCMBaseIntentService の onMessage に入れます
if(isRunningActivity()){
Intent pushReceivedIntent = new Intent(ACTION_PUSH);
pushReceivedIntent.putExtras(intent.getExtras());
context.sendBroadcast(pushReceivedIntent);
return;
}
そして、レシーバーを使用してそのインテントを受け取ることができます
//register as BroadcastReceiver for Push Action
IntentFilter filter = new IntentFilter();
filter.addAction(NotificationProcessor.ACTION_PUSH);
mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// put here codes what you want
}
};
registerReceiver(mReceiver, filter);
ご不明な点がございましたら、コメントをお寄せください。これがあなたを助けることを願っています
GCM サンプルの動作を見てみましょう。次のメソッドを使用してメイン アクティビティと通信し、GUI を更新します。
static void displayMessage(Context context, String message) {
Intent intent = new Intent(DISPLAY_MESSAGE_ACTION);
intent.putExtra(EXTRA_MESSAGE, message);
context.sendBroadcast(intent);
}
次に、BroadcastReceiver を使用して、メインのアクティビティでインテントをキャッチします。
private final BroadcastReceiver mHandleMessageReceiver =
new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String newMessage = intent.getExtras().getString(EXTRA_MESSAGE);
mDisplay.append(newMessage + "\n");
}
};
したがって、同様の方法を使用してメイン アクティビティと通信し、GUI を更新できます。