0

3〜4個のアクティビティを備えたAndroid-Bluetoothアプリを開発しています。今、私はこれらの活動のいずれかでBluetoothデータを受信する必要があります。着信Bluetoothデータをリッスンしてブロードキャストを送信するBroadcastReceiverを含むサービスを実装する必要があると思いますが、その方法がわかりません。

前もって感謝します。

4

1 に答える 1

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 
    }
};
于 2012-11-21T19:31:36.960 に答える