获取黑莓中的模块名称
Posted
技术标签:
【中文标题】获取黑莓中的模块名称【英文标题】:To get the module names in blackberry 【发布时间】:2011-09-19 10:52:54 【问题描述】:我想获取我在 Blackberry 中安装的应用程序模块名称,如“消息”、“联系人”等。如何获取正在运行的此模块的名称?
【问题讨论】:
【参考方案1】:您可以使用此行获取当前应用程序模块名称或句柄:
String name = ApplicationDescriptor.currentApplicationDescriptor().getModuleName();
这将返回此应用程序的模块句柄的字符串。或者使用
int handle = ApplicationDescriptor.currentApplicationDescriptor().getModuleHandle();
【讨论】:
【参考方案2】:检查以下代码sn-p:
//get the ApplicationManager
ApplicationManager appMan = ApplicationManager.getApplicationManager();
//grab the running applications
ApplicationDescriptor[] appDes = appMan.getVisibleApplications();
int size = appDes.length;
for (int i = size - 1; i >= 0; --i)
String moduleName = appDes[i].getModuleName();
String name = appDes[i].getName();
// other codes....
另请阅读以下类的 API 文档:
ApplicationManager
ApplicationDescriptor
CodeModuleGroupManager
CodeModuleGroup
【讨论】:
但这会返回字符串值,如“net_rim_bb_messaging_app”。 appDes[i].getName() 怎么样? 现在我需要一些不同的东西。假设我正在点击手机中的一个应用程序图标(如“消息”)。如何获取我点击的应用程序名称值?? 好问题,但我之前没有尝试过。 AFAIK 我们可以在应用程序处于后台时捕获由“取消”、“呼叫”、“菜单”和“返回”按键生成的事件,但认为在这种情况下不会有帮助。 即使对于“浏览器”、“媒体”等图标,我们也无法使用 appDes[i].getName() 获取应用程序名称。我怎样才能得到这些名字?【参考方案3】:如果您想(以编程方式)获取应用程序版本,您可以使用:
net.rim.device.api.system.DeviceInfo.getSoftwareVersion()
【讨论】:
以上是关于获取黑莓中的模块名称的主要内容,如果未能解决你的问题,请参考以下文章