我想当 GCMIntentService.java 中的 onMessage() 收到新消息时,onMessage() 调用一个名为 blinkLED() 在 MainActivity.java 中,因此 blinkLED() 方法可以使用 onMessage() 接收到的数据,我该如何实现?示例代码会有所帮助。
最佳答案
使用广播接收器。这tutorial向您展示如何从一个类发送广播 Intent ,并让另一个类处理它。
简短的例子,在你的 GCMIntentService::onMessage() 中,你可能有这个:
Intent intent = new Intent();
intent.setAction("com.my.app.blinkled");
sendBroadcast(intent);
然后在您的 MainActivity 中,您实现一个 BroadcastReceiver :
private class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
blinkLED();
}
}
并在 MainActivity 的 onResume() 中注册:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.my.app.blinkled");
receiver = new MyBroadcastReceiver();
registerReceiver(receiver, intentFilter);
关于android - 从 GCM onMessage() 调用 MainActivity 内的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14661749/