03-30-2010 12:42 PM
Is there a unique identifier that each application has which will report the same on every OS? For example, Android has the package name and Symbian has a UID. It looks like the Application ID in the alx file might be what I need, but I can't find a way to learn that programmatically.
ApplicationDescriptor.getName() or ApplicationDescriptor.getModuleName() might also work, but I've read posts saying that the different OS's handle encoding differently, so I can't be guaranteed that the same application will return the same string every time.
03-30-2010 01:33 PM
I'd like to be able to scan the running applications and react if any apps apps I'm interested in are being run. For example, the user currently has the messaging app in the foreground. I see that module net_rim_bb_messaging_app is in my list of trigger apps and respond (with logging, killing the app, or whatever). The issue is that I'm having a hard time figuring out how to uniquely identify them so I can make sure that the app I'm seeing is really the Blackberry Messaging App and not just some app that happens to have the same name.
03-30-2010 02:02 PM
I would look here. It may seem unrelated but the sample app that they have checks if a specific app needs to be installed, updated, or already exists. You can probably make it more specific by checking the vender name too.
03-30-2010 02:37 PM
Thanks! That sample is using the module name as the identifier, so that looks like my best bet. Now to try to find an easy way to know what all apps I should be interested in...
Does anyone know if there's a site like androlib.com that's geared towards the BlackBerry? Androlib.com scrapes the android marketplace and grabs information about each android application, including package names. The blackberry market itself would be nice, but it doesn't tell you the module name for each app.
03-30-2010 08:51 PM
It depends on what you want your app to do.
If you want to block certain apps that is user decided then the previous example has a menu item that retrieves the installed modules.
If you want to block certain apps then you can probably email the developers of whatever apps you want to interact with and ask them what their module names are, I can't think up a reason why they wouldn't want to except for that exact reason, they don't want to.