Xamarin iOS 13 проверяет разрешение Bluetooth, не вызывая собственное всплывающее окно - PullRequest
0 голосов
/ 15 октября 2019

iOS 13 начала запрашивать разрешение Bluetooth. Когда разрешение Bluetooth еще не предоставлено, я хочу показать пользовательский экран, чтобы объяснить, зачем мне нужен Bluetooth, и предложить предоставить приложению доступ к нему. Перед этим я должен проверить, предоставлено ли разрешение Bluetooth или нет.

Эта функция сразу показывает собственное всплывающее окно и запрашивает разрешение:

public bool NeedsBluetoothPermission()
        {
            if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
            {
                return CBCentralManager.Authorization != CBManagerAuthorization.AllowedAlways;
            }
            else
            {
                return false;
            }
        }

Вопрос : Какпроверить, нужно ли приложению запрашивать разрешения Bluetooth без предварительного запуска собственного всплывающего окна?

Этот ответ не работает для меня, так как я пока не создаю экземпляр CBCentralManager, яиспользуйте только его статическое свойство.

Разработчики для iOS, пожалуйста, присоединяйтесь. Я думаю, это не только проблема Xamarin ...

1 Ответ

0 голосов
/ 06 ноября 2019

Наконец, я понял это. Такое поведение было актуально для бета-версии iOS 13.0.

. Для последней версии iOS 13.2 я не наблюдаю эту проблему.

Я могу автоматически проверить свойство CBCentralManager.Authorization. При создании экземпляра CBCentralManager появляется всплывающее окно системы.

...