わかりましたので、Bluetoothを使用するアプリに取り組んでいます。Bluetoothが有効になっているかどうかを確認するコードは次のとおりです。
public void checkBluetoothState() {
//check if the Device supports bluetooth
if(bluetoothAdapter == null) {
textState.setText(getResources().getString(R.string.btNotSupported));
} else {
//check if bluetooth is enabled
if(bluetoothAdapter.isEnabled()) {
if(bluetoothAdapter.isDiscovering()) {
textState.setText(getResources().getString(R.string.btDiscovering));
} else {
textState.setText(getResources().getString(R.string.btEnabled));
buttonScanDevices.setEnabled(true);
}
} else {
textState.setText(getResources().getString(R.string.btDisabled));
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivity(enableBtIntent);
}
}
}
これは onResume() メソッドで呼び出されます。
しかし、ブルートゥースの有効化を拒否すると、アクセスを許可するかアプリを閉じるまで、ダイアログが何度もポップアップします。
何故ですか?