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