Мое приложение использует Bluetooth только для подключения к подключенным в данный момент наушникам ( для перенаправления звука на наушники Bluetooth во время конференц-связи WebRTC). Поэтому мне не нужно запрашивать разрешение, если пользователь не использует наушники Bluetooth.
Я знаю, как запросить разрешение, но проблема в следующем. что чтобы проверить, подключены ли наушники, мне сначала нужно запросить разрешение.
Но я не хочу запрашивать разрешение, если наушники не подключены.
Насколько я понимаю, если Я запрашиваю разрешение, как рекомендовано, тогда всем пользователям будет предложено предоставить разрешение, даже если они не используют наушники Bluetooth в моей игре. Это ненужное разрешение, которое нужно запрашивать у пользователя, и он не поблагодарит нас за это.
Но без предварительной проверки разрешения проверка состояния наушников (подключены или нет) становится невозможной. Как устранить ошибку 22?
Это мой код, чтобы проверить, подключены ли наушники Bluetooth:
Код: Выделить всё
private static boolean isBluetoothHeadsetConnected() {
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
return mBluetoothAdapter != null && mBluetoothAdapter.isEnabled()
&& mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_CONNECTED;
}

Подробнее здесь: https://stackoverflow.com/questions/731 ... permission