以编程方式获取在黑莓上运行的所有进程

时间:2012-09-22 07:43:12

标签: blackberry process

以编程方式,我该如何:

a)查找我在Blackberry上运行的所有进程?

b)哪些进程在后台运行?

是否有我可以查看的api或文档,或者可能有一个编码示例?

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:2)

Take a look at this answer,请务必在实际答案下面注明评论。您需要在设备上请求所有模块句柄,然后为每个模块句柄检查它们是否正在运行。

另外,see this BlackBerry forum response,此处引用的内容,因为它是非SO网站:


  1. 获取所有模块句柄(可能没有兄弟姐妹)
  2. 遍历句柄列表并过滤掉库类型(离开我们CLDC / Midlet)
  3. 获取应用描述符(主要)和关联的PID
  4. 如果PID存在,则隐含的结论是流程正在运行(可能是可见或不可见的隐藏后台进程,无UI)。

  5. 另一个相关的API将是ApplicationManager.getVisibleApplications(),它允许您列出可见的运行应用(不是后台服务)。

    至于哪些是在后台,您将从上面获取进程ID,然后您可以根据当前前台进程ID检查它们(只有一个可以在前台...所有其他都在后台)。从ApplicationManager.getForegroundProcessId()

    获取前台进程ID

答案 1 :(得分:1)

This code will help you to find out current running applications

ApplicationManager appMan = ApplicationManager.getApplicationManager();
        ApplicationDescriptor appDes[] = appMan.getVisibleApplications();

        for (int i = 0; i < appDes.length; i++) 
        {
                  result = appDes[i].getModuleName();
          System.Out.Println("Currently Running application " +result ) 
        }