Модуль пытается получить доступ к защищенному API: RIM Blackberry

Я использовал «Инструмент подписи с помощью подписи» в Eclipse, чтобы подписать свое приложение. Я вижу, что все идентификаторы подписывающих RRT, RBB и RCR подписаны для файлов cod (JRE версии 4.5). Я пытаюсь выполнить развертывание на устройстве 5.0 и вижу ошибку «Модуль пытается получить доступ к защищенному API».

Что мне не хватает?


person Dave    schedule 05.04.2011    source источник


Ответы (2)


Как вы его развернули на устройстве? Вам следует подумать об использовании javaloader load myfile.cod в cmdline или _2 _-_ 3_ в eclipse

person Andrey Regentov    schedule 23.11.2011

Ваше приложение запрашивало необходимые разрешения? Вам понадобится что-то вроде приведенного ниже кода (запустите его перед доступом к любым безопасным API):

    int [] needed_permissions = {
            ApplicationPermissions.PERMISSION_INPUT_SIMULATION,
            ApplicationPermissions.PERMISSION_FILE_API,
            ApplicationPermissions.PERMISSION_ORGANIZER_DATA,
            ApplicationPermissions.PERMISSION_INTERNET,
            ApplicationPermissions.PERMISSION_LOCATION_DATA,
            ApplicationPermissions.PERMISSION_WIFI

    };

    public void checkPerm() {

         ApplicationPermissionsManager apm = ApplicationPermissionsManager.getInstance();
         ApplicationPermissions original = apm.getApplicationPermissions();

         if(!permissionsPresent(apm, original))
             permissionsRequest(apm);

        application.pushScreen(new MainScreen());
    }

    private boolean permissionsPresent(ApplicationPermissionsManager apm, ApplicationPermissions original) {
        for(int i=0;i<needed_permissions.length;i++)
            if(original.getPermission( needed_permissions[i] ) != ApplicationPermissions.VALUE_ALLOW)
                return false;
        return true;
    }

    private void permissionsRequest(ApplicationPermissionsManager apm) {
        ApplicationPermissions permRequest = new ApplicationPermissions();
        for(int i=0;i<needed_permissions.length;i++)
            permRequest.addPermission( needed_permissions[i] );

        if(!apm.invokePermissionsRequest( permRequest )){
        Dialog.alert("Bad Perm!"); 
        System.exit(0);
    }   

}
person reflog    schedule 05.04.2011
comment
Спасибо. Этот код помогает мне включить разрешения, которые должны быть установлены пользователем, но для решения проблемы мне нужно было подписать приложение при развертывании на устройстве (это требуется, даже если вы уже подписали свое приложение), и у меня не было возможности делать это через BlackBerry Desktop Software. Я использовал опцию «Загрузить проект на устройстве» в меню BlackBerry (щелкните правой кнопкой мыши имя проекта, чтобы получить доступ к меню BlackBerry). Он запросил пароль для подписи, и это сработало. - person Dave; 13.04.2011
comment
Извините, как я уже сказал, ваш ответ не помог решить мою проблему. При использовании параметра «Загрузить проект на устройство» в меню BlackBerry запрашиваются ключи подписи. Спасибо - person Dave; 05.07.2011
comment
может кто-нибудь проинформировать автора, чтобы он добавил ответ по этому поводу? Вопрос был явно решен пользователем, но он не удосужился его предоставить. - person Uriel Arvizu; 06.08.2014