10-04-2010 05:50 PM
I have an application that works from 4.2.1 to 5.0.
The application consists of 5 modules that are loaded by a single jad file. I also use a httpfilter and inject keystrokes, so I need those permissions.
Before RIM 6.0, I was able to get these permissions for all 5 modules by asking once during the installation process. However, in RIM 6.0, permissions are now only being granted to the module that asks for them, which is the installer. The other modules don't get them, and therefore get the Controlled Access Exceptions.
I have been able to grant each module the proper permissions, but that means 5 different permission popups, which completely degrades the user experience.
Does anyone know if RIM 6.0 changed how permissions work in regards to a jad file and the cod modules underneath it? Is there a way to go back to getting all the permissions for each module at the same time?
(I am using the new Torch phone for all the development, on ATT. It is not a problem of deprecated permissions, because it works on OS 5.0)
10-05-2010 03:14 AM
welcome to the support forums.
i did not experience this behavior so far, but did not test much with OS 6. can other people confirm this?
would be a serious problem for my own apps as well.
11-18-2010 09:14 AM
I also did experience the same using OS 6.0, on older versions the same code works fine.
The 6.0 API doc says that the invokePermissionsRequest of the permission manager should request permissions for all application modules: "Any permissions that are approved are applied to the calling application module and all its dependencies".
I install over OTA an application having two dependent libraries. On OS 6.0, after invoking the permission request, the libraries do not get their permissions updated, just the main application module.
However if I manually edit the application's permissions from the options menu, the settings are applied correctly to all the modules.
Is there any solution or workaround?
11-18-2010 09:22 AM
I had to get something out the door that worked properly, and no one seemed to have found a solution or even had this problem.
After an Over the Air download, and the standard RIM installation, we pop a wizard that runs and registers the user for our service. In order to get the permissions to work properly, I had to have each module ask for permissions.
I determined that I only needed three permission requests. I also told the user to expect three permission requests during the installation wizard, and using a database flag, I timed each request to happen one after the other in the installation, so that they were shown in a controlled fashion.
I don't know what will work for you, but I hope this helps you find a solution!
11-30-2010 04:29 AM
Thanks for the advice.
I also did the same workaround for OS 6.0, so now multiple permission request windows pop up during setup. Unfortunately this degrades user experience, especially if there will happen to be too many modules.
I had to rebuild the modules as application type projects (hidden from the BB menu), and added to each the required permission handling logic.
During setup each module is launched as a standalone application, thus the permission inheritance problem is avoided. (Every other try resulted that only the main app managed to get the requested permissions.)
On older OS versions the same application seems to work as expected, without the need for the multiple permission requests.