获取黑莓中的模块名称

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()

【讨论】:

以上是关于获取黑莓中的模块名称的主要内容,如果未能解决你的问题,请参考以下文章

如何在黑莓中使用经度和纬度获取当前地址

黑莓中的onClose()有啥用[关闭]

从黑莓中动态生成的 basicEditField 获取价值

使用 Phonegap/WebWorks 的黑莓中线程过多

黑莓中的自定义文本框

黑莓中的推送消息监听器