チェックボックスを使用して、Android でデバイスの Bluetooth の検出可能性をオンまたはオフに切り替える簡単な方法を見つけようとしています。オンにするのは簡単ですが、もう一度オフにするとうまくいきません。私はデバイスを 1 秒間検出可能に設定することで回避策を使用しています (この方法は、stackoverflow で見つけました) が、それを適切に行う方法を見つける必要があります。
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if (buttonView.isChecked()) {
if (mBluetoothAdapter == null) {
Toast.makeText(getApplicationContext(),
"No Bluetooth Support", Toast.LENGTH_SHORT).show();
} else {
if (mBluetoothAdapter.isEnabled()) {
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivity(discoverableIntent);
Toast.makeText(getApplicationContext(), "Device Discoverable", Toast.LENGTH_SHORT).show();
}
}
} else {
if (mBluetoothAdapter.isEnabled()) {
Intent disablediscoverableIntent = new Intent(
BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
disablediscoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 1);
startActivity(disablediscoverableIntent);
Toast.makeText(getApplicationContext(),
"Discoverable Disabled", Toast.LENGTH_SHORT).show();
}
}