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 に対してそれらを確認できます (フォアグラウンドにできるのは 1 つだけです... 他のすべてはバックグラウンドにあります)。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 に答える