、registerReceiverなどのBluetoothDeviceイベントを実行しようとしています。ACTION_ACL_CONNECTEDACTION_ACL_DISCONNECTED
しかし、私が使用しているクラスはクラスもクラスもregisterReceiver拡張していません-そのため、私はそのクラスに渡して、次のようにレシーバーを登録していますActivityServiceContext
context.registerReceiver(ActionFoundReceiver,
new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED));
context.registerReceiver(ActionFoundReceiver,
new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED));
context.registerReceiver(ActionFoundReceiver,
new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED));
次のようにイベントを処理します
private final BroadcastReceiver ActionFoundReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) {
// do some stuff
}
}
};
しかし、デバイスが接続または切断されている場合、トレースできません。つまり、ActionFoundReceiver電話をかけることができません。