在整个应用程序中接收蓝牙数据

时间:2012-11-21 16:10:15

标签: android bluetooth

我开发了一款具有3-4项活动的Android蓝牙应用程序。现在我必须在任何这些活动中接收蓝牙数据。 我想我必须实现一个包含BroadcastReceiver的服务,该服务侦听传入的蓝牙数据并发送广播,但我不知道该怎么做。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以实现自己的BroadcastReceiver。因此,当您的LocalService接收数据时,它将使用sendBroadcast方法进行通知。您的活动应该注册特定的BrodcastReceiver。

在您的服务中

通知收到的消息:

public void onMessageReceived(String message) {
    Intent intent = new Intent(ACTION_BLUETOOTH_MESSAGE);
    intent.putExtra(BLUETOOTH_MESSAGE_CONTENT, message);
    sendBroadcast(intent);
}

关于每项活动

注册广播接收器:

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 
    }
};