、registerReceiver
などのBluetoothDeviceイベントを実行しようとしています。ACTION_ACL_CONNECTED
ACTION_ACL_DISCONNECTED
しかし、私が使用しているクラスはクラスもクラスもregisterReceiver
拡張していません-そのため、私はそのクラスに渡して、次のようにレシーバーを登録していますActivity
Service
Context
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
電話をかけることができません。