React Native: запрос на разрешение Bluetooth, не работающий над Huawei Vog -L29 - requestPermissions не показывает диалога, opensettings () ничего не делает
Задача Описание
У меня есть нативное приложение, которое требует прочиков Bluetooth. На большинстве устройств Android это работает отлично, но на Huawei vog -l29 , работающие с EMUI, поток разрешений полностью не выполняется:
Запрос разрешения не показывает диалогу - requestMultiple () returns, не показывая кнопку System Recision Recision - requestMultiple () , не показывая кнопку System Recision Recision. Ничего не делает - opensettings () из React -cnative -permissions , но не перемещается в настройки
разрешения существуют в настройках приложения - я могу видеть разрешение Bluetooth в настройках приложения Br/OL>
Model: HUAWEI VOG-L29
Android Version: 10
React Native Version: 0.76.9
Expo Version: 52.0.47 < /li>
< /ul>
текущая реализация < /h2>
Запрос разрешения к Hook < /h3>
react-native-android-open-settings< /code> - та же проблема < /li>
Пользовательская нативная реализация - та же проблема < /li>
< /ul>
ожидаемое поведение < /h2>
Пользователь Clicks «Grant Remissions» < /li>
System Показывает Dialog или Opens App Setres < /li>
Разрешения < /li>
Приложение обнаруживает изменения разрешения < /li>
< /ol>
фактическое поведение на huawei vog -l29 < /h2>
Кнопка кликов пользователя < /li>
[b] < /rough> - нет диалога, natual, li>
< /strong> - нет диарода, li>
< /strong> - нет диалога.requestBluetoothPermissions()
React Native: запрос на разрешение Bluetooth, не работающий над Huawei Vog -L29 - requestPermissions не показывает диалога, opensettings () ничего не делает Задача Описание У меня есть нативное приложение, которое требует прочиков Bluetooth. На большинстве устройств Android это работает отлично, но на [b] Huawei vog -l29 [/b], работающие с EMUI, поток разрешений полностью не выполняется: [list] [*] [b] Запрос разрешения не показывает диалогу [/b] - requestMultiple () returns, не показывая кнопку System Recision Recision - requestMultiple () , не показывая кнопку System Recision Recision. Ничего не делает - opensettings () из React -cnative -permissions , но не перемещается в настройки [*] [b] разрешения существуют в настройках приложения [/b] - я могу видеть разрешение Bluetooth в настройках приложения Br/OL>
< /code> Что я попробовал < /h2> 1. Пользовательский нативный метод Android < /h3> Добавлен собственный метод для непосредственного открытия настройки приложения: < /p> // TuyaActivatorModule.kt @ReactMethod fun openAppSettings(params: ReadableMap) { val currentActivity = currentActivity ?: return try { val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) intent.data = Uri.parse("package:" + reactApplicationContext.packageName) currentActivity.startActivity(intent) } catch (e: Exception) { // Fallback to general settings currentActivity.startActivity(Intent(Settings.ACTION_SETTINGS)) } } < /code> 2. AndroidManifest.xml разрешения < /h3>
< /code> 3. Пробовал разные библиотеки < /h3>
react-native-permissions[/code] - opensettings () ничего не делает [*][code]react-native-android-open-settings< /code> - та же проблема < /li> Пользовательская нативная реализация - та же проблема < /li> < /ul> ожидаемое поведение < /h2>
Пользователь Clicks «Grant Remissions» < /li> System Показывает Dialog или Opens App Setres < /li> Разрешения < /li> Приложение обнаруживает изменения разрешения < /li> < /ol> фактическое поведение на huawei vog -l29 < /h2>
Кнопка кликов пользователя < /li> [b] < /rough> - нет диалога, natual, li> < /strong> - нет диарода, li> < /strong> - нет диалога.requestBluetoothPermissions()[/code] немедленно возвращается со статусом отрицания [*][code]openSettings()[/code] вызовы успешно, но не навигация нигде [*] Пользователь застрял - не может предоставить разрешения через приложение [/list] Дополнительный контекст
[*] Рекомендации Bluetooth mysible [/b] в приложения Разрешения) Устройства [/list] Вопросы
[b] это известное ограничение emui [/b] с диалогами с разрешением, подавляемым? /> [b] Как я могу надежно открыть настройки приложения [/b] на устройствах Huawei?>