Выдается исключение ControlledAccessException, даже после генерации файла.KEY
В настоящее время я использую плагин Eclipse Blackberry для своей разработки, и я уже получил ключи подписи кода от RIM и могу успешно отлаживать на устройстве.
Я сталкиваюсь с проблемами при создании базы данных SQLite на устройстве (без SD-карты). Я получаю исключение ControlledAccessException каждый раз, когда пытаюсь использовать строку if(DatabaseFactory.exists(dbURI))
,
Я использовал инструмент для подписи файлов, предоставленный RIM, чтобы создать свой собственный файл.KEY. Я установил файл.KEY, который будет использоваться по умолчанию для открытых и закрытых классов, а также для других пакетов, которые есть в моем приложении. Настройки безопасности на моем телефоне (Torch 9810) дали приложению статус разрешенного для всего под разрешениями приложения. Я также попытался подать заявление безрезультатно.
Я знаю, что мое приложение получает файл.KEY, потому что key = CodeSigningKey.get(moduleHandle,"Key_Name");
возвращает значение Так кто-нибудь имеет представление о том, что происходит?
ОБНОВЛЕНИЕ: Итак, мой инструмент подписи сообщает мне, что сгенерированный мною ключ "Не зарегистрирован" в статусе и в разделе "Подробности": "Пожалуйста, свяжитесь с подписавшей стороной и зарегистрируйтесь в Центре подписи". Но так как я подписываю, что мне делать?
1 ответ
Документы для ControlledAccessException говорят:
Это исключение выдается, когда поток пытается получить доступ к объекту ControlledAccess без соответствующего разрешения.
Вам необходимо проверить, предоставил ли пользователь соответствующие разрешения на доступ к файловой системе, чтобы использовать API базы данных. ApplicationPermissions.PERMISSION_FILE_API
скорее всего, нужно, но может быть и больше.