Bluetooth を有効化する方法
Bluetooth をサポートしている Android 端末上でも、ユーザーによって Bluetooth が無効化されている場合があります。
ここでは、Bluetooth が無効化されている状態から有効化する方法を説明します。
まず Bluetooth を利用するためにパーミッションの設定が必要です。
パーミッションについては「Bluetooth を利用するためのパーミッション設定」をみてください。
Bluetooth の有効化についてだけいえば、android.permission.BLUETOOTH があれば OK です。
有効であることの確認
Bluetooth が現在有効であることは、BluetoothAdapter オブジェクトの isEnabled() メソッドで確認できます。
isEnabled() が true を返せば現在有効です。false を返せば無効です。
尚、BluetoothAdapter の getDefaultAdapter() で BluetoothAdapter オブジェクトがとれなければそもそも端末で Bluetooth がサポートされていないことになります。
有効化の方法
Bluetooth を有効化するには次のように BluetoothAdapter.ACTION_REQUEST_ENABLE アクションを設定したインテントを作成し、 startActivityForResult を呼びます。
int REQUEST_ENABLE_BT = 1;
...
Intent reqEnableBTIntent =
new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(reqEnableBTIntent,REQUEST_ENABLE_BT);
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_ENABLE_BT) {
if (resultCode == RESULT_OK) {
// "Bluetooth が有効化された"
}
}
}
startActivityForResult を呼ぶと次のように有効化をするか訊ねられます。
これに対して ALLOW (許可) を選ぶと、直ちに有効化されます。
プログラムでは onActivityResult で RESULT_OK が渡されることで、ユーザーが ALLOW を選択したことがわかります。