我希望当gcminentservice.java中的onMessage()接收到新消息时,onMessage()调用mainActivity.java中名为blinkled()的方法,以便blinkled()方法可以使用onMessage()接收到的数据,我如何实现?示例代码将很有用。

最佳答案

使用广播接收器。这个tutorial演示了如何从一个类发送广播意图,并让另一个类处理它。
简单的例子,在gcminentservice::onMessage()中,您可能有:

Intent intent = new Intent();
intent.setAction("com.my.app.blinkled");
sendBroadcast(intent);

然后在主活动中,实现广播接收器:
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);

09-11 19:18