2013-02-15 2 views
1

Мы разработали приложение, которое декодирует QR-код, используя класс Blackberry BarcodeScanner на OS 6 и выше. Когда вызывается экран сканера штрих-кода, предупреждения OS для разрешения и приложения камеры скрыты, то есть они идут в фоновом режиме. В этом случае, если пользователь нажимает красную кнопку завершения вызова, приложение скрывается (оно остается в фоновом режиме и не заканчивается), и предупреждение остается открытым. При принятии ALLOW или DENY и повторного открытия приложения мобильный телефон повесился и его необходимо перезапустить, удалив батарею с устройства.Как правильно выйти из приложения Blackberry, когда BlackBerry OS отображает разрешение для камеры и кнопки пользовательских кликов (красная)

Что я хочу сделать, когда пользователь нажал красную кнопку завершения вызова в этой ситуации, я могу полностью закрыть приложение. Поскольку уведомление о разрешении ОС не зависит от приложения, когда пользователь будет вызывать приложение, он получит это разрешение.

Пожалуйста, помогите мне, сообщив, как я могу прекратить применение с этой точки.

ответ

3

Не знаете, почему приложение зависает, но лучшим решением является то, что вы должны тестировать разрешения, необходимые при запуске, используя ApplicationPermissionManager. Если у вас нет разрешений, которые имеют решающее значение для функции приложения (камера имеет решающее значение для сканирования штрих-кода), вы должны запросить разрешение через API, которое позволит вам указать причину, по которой требуется разрешение. Это должно произойти до того, как вы запросите доступ к контролируемому ресурсу. Если критические разрешения не предоставлены пользователем, вы можете отобразить сообщение и выйти чисто.

Для полноты, если ресурс не имеет решающего значения для функции приложения, приложение должно запрашивать разрешение один раз, при первом запуске, а если дано разрешение, отключите функциональность, требующую этого разрешения.

Использование запроса разрешения по умолчанию в то время, когда ресурс необходим, сбивает с толку большинство пользователей и не соответствует методам предоставления разрешений, используемым в более современных системах (BB10, iOS, Android), в то же время запрашивая все разрешения, необходимые для первый запуск обеспечивает лучший пользовательский интерфейс и легче обрабатывается в коде.

+0

Я уже пытался запросить разрешение при запуске, но он не работал. Возможно, он дважды попросил разрешения начать сканирование штрих-кода. Я думаю, что я не делаю это правильно. Можете ли вы предоставить какой-либо пример кода для этого? И спасибо за ответ и оцените ваш ответ в этом отношении. –

+0

Более эффективный путь может быть для вас, чтобы опубликовать код, который вы использовали, чтобы другие участники могли его просмотреть. – Richard