Ant*_*nio 2 service android google-cloud-messaging
我遵循以下代码:如何在android中使用GCM获取RegistrationID
但我想更新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);
}
Run Code Online (Sandbox Code Playgroud)
在这里你可以检查如何在你的活动中注册接收器,这很简单:如何使用LocalBroadcastManager?
祝好运
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |