我想从onMessage中更新UI。
e.g。使用更新进度条,怎么做?
森
答案 0 :(得分:0)
看看GCM sample做事情的方式。它使用以下方法与主活动进行通信并更新GUI:
static void displayMessage(Context context, String message) {
Intent intent = new Intent(DISPLAY_MESSAGE_ACTION);
intent.putExtra(EXTRA_MESSAGE, message);
context.sendBroadcast(intent);
}
然后使用BroadcastReceiver捕获主Activity中的意图:
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。
答案 1 :(得分:0)
有很好的答案可以搞清楚,我也想让你使用这些代码。你可以通过在活动中将它放在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);
如果您有任何问题,请发表评论。希望这会对你有所帮助