2012-04-13 3 views
0

В настоящее время я использую подключаемый модуль Eclipse Blackberry для своей разработки, и я уже получил свой код. Подписываю ключи из RIM и могу успешно отлаживать устройство.ControlledAccessException выбрано, даже после генерации файла .KEY

Где я столкнулся с проблемами - это создание базы данных SQLite на устройстве (без SD-карты). Я получаю исключение ControlledAccessException, которое бросается каждый раз, когда я пытаюсь использовать строку if(DatabaseFactory.exists(dbURI)).

Я использовал инструмент для подписания файла, предоставленный RIM, для создания моего собственного файла .KEY. Я установил файл .KEY для использования как по умолчанию для общедоступных и непубличных классов, так и для других пакетов, которые находятся в моем приложении. Параметры безопасности на моем телефоне (факел 9810) дали приложению статус разрешен для всего, что разрешено в приложении. Я также попытался отложить заявку безрезультатно.

Я знаю, что мое приложение подбирает файл .KEY, потому что key = CodeSigningKey.get(moduleHandle,"Key_Name"); возвращает значение. Так кто-нибудь знает, что происходит?

ОБНОВЛЕНИЕ: Итак, мой инструмент подписания говорит мне, что ключ, который я сгенерировал, «не зарегистрирован» под статусом, и в разделе «Пожалуйста, свяжитесь с подписывающим лицом и зарегистрируйтесь в Подписании». Но так как я подписываю, что мне делать?

+0

Иногда, если вы работаете на симуляторе, вы получите этот тип исключения; поэтому всякий раз, когда вы получаете этот тип исключения (в симуляторе), просто закройте симулятор и откройте его снова; – alishaik786

+0

Программа отлично работает на симуляторе, проблема возникает только при развертывании на устройстве – user486713

ответ

0

Документов для ControlledAccessException сказать:

Это исключение, когда поток пытается получить доступ к объекту ControlledAccess без соответствующего разрешения.

Вам необходимо проверить, предоставил ли пользователь соответствующие разрешения для доступа к файловой системе, чтобы использовать базу данных api. ApplicationPermissions.PERMISSION_FILE_API - это, вероятно, нужно, но может быть и больше.

+0

Проверено в разделе «Разрешения приложения», все разрешено. – user486713