我希望当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);