我开发了一个具有3-4个Activitys的Android蓝牙应用程序。现在,我必须在这些activitys中接收蓝牙数据。我认为我必须实现一个包含BroadcastReceiver的服务,该服务侦听传入的BlueTooth数据并发送广播,但我不知道如何做。
提前谢谢。
发布于 2012-11-22 03:31:37
您可以实现自己的BroadcastReceiver。因此,当您LocalService接收到数据时,它将使用sendBroadcast方法通知。您的活动应该注册特定的BrodcastReceiver。
服务中的
通知收到的消息:
public void onMessageReceived(String message) {
Intent intent = new Intent(ACTION_BLUETOOTH_MESSAGE);
intent.putExtra(BLUETOOTH_MESSAGE_CONTENT, message);
sendBroadcast(intent);
}每个activity上的
注册广播接收器:
registerReceiver(messageReceiver,
new IntentFilter(ACTION_BLUETOOTH_MESSAGE)); 广播接收器的实现:
private BroadcastReceiver messageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra(BLUETOOTH_MESSAGE_CONTENT);
//Do something you want
}
};https://stackoverflow.com/questions/13497337
复制相似问题