09-27-2009 11:02 PM
I have written a general purpose application launcher to supplement the functionality of the Home screen. In the process, I encountered some apparently insurmountable problems with the ApplicationDescriptor class that implements general purpose application launching functionality. There is also the Invoke API and browser API, but those are far too limited to be useful. With the ApplicationDescriptor class, the frustrating part is that RIM seems to provide exactly what I need, yet cripple it in critical ways.
The main problem is with RIM apps. Digging through the forums, it appears that with OS 4.5 and later you cannot call ApplicationDescriptor.run() and pass arguments to an app written by RIM. If you do, you get a ControlledAccessException no matter how many permissions you are assigned. Many RIM apps need arguments to be passed to start up correctly. This includes built-in apps like Media as well as all IM apps: AIM, Yahoo Messenger, Google Talk, MSN and ICQ. I don't see why these apps must be restricted in the way they are invoked: they provide ordinary app functionality, and only happen to be written by RIM. The unfortunate part is that even with the argument restiction, RIM could simply have made these apps launchable by requiring no arguments for the UI entry point for these apps. The way I see it, as RIM writes more and more consumer apps for the BB, the ApplicationDescriptor.run() API becomes increasingly useless.
09-28-2009 08:21 PM
09-30-2009 07:51 AM