0

以编程方式,我如何:

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

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

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

提前感谢您的帮助

4

2 回答 2

2

看看这个答案,一定要注意实际答案下方的评论。您需要请求设备上的所有模块句柄,然后为每个模块句柄检查它们是否正在运行。

此外,请参阅此 BlackBerry 论坛回复,并在此处引用内容,因为它是非 SO 站点:


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

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

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

于 2012-09-22T07:53:21.943 回答
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 ) 
        }
于 2012-09-24T12:22:55.017 回答