3

私のブラックベリーシミュレーターでは、バックグラウンドで2つのアプリケーションを実行していますが、バックグラウンドで実行されているアプリケーションを取得したいと思います。方法はわかりません。バックグラウンドで実行されているアプリケーションを表示することはできますか?

4

3 に答える 3

7

表示されているアプリケーションを一覧表示して切り替える

代替テキストhttp://img195.imageshack.us/img195/7003/applist.png リンクテキストhttp://img32.imageshack.us/img32/9273/applistmenu.png

コード:

class Scr extends MainScreen {

    ApplicationDescriptor[] mAppDes;

    public Scr() {
        listApplications();
    }

    void listApplications() {
        ApplicationManager appMan = 
            ApplicationManager.getApplicationManager();
        mAppDes = appMan.getVisibleApplications();
        add(new LabelField("Visible Applications:"));
        for (int i = 0; i < mAppDes.length; i++) {
            boolean isFG = appMan.getProcessId(mAppDes[i]) == appMan
                    .getForegroundProcessId();
            String text = (isFG ? "[F]:" : "[B]") + mAppDes[i].getName();
            add(new LabelField(text));
        }
    }

    protected void makeMenu(Menu menu, int instance) {
        super.makeMenu(menu, instance);
        menu.add(refreshApps);
        makeAppMenuItems(menu);
    }

    MenuItem refreshApps = new MenuItem("Refresh", 0, 0) {
        public void run() {
            deleteAll();
            listApplications();
        }
    };

    class AppMenuItem extends MenuItem {
        ApplicationDescriptor mAppDes;
        public AppMenuItem(ApplicationDescriptor appDes) {
            super(appDes.getName(), 100000, 100000);
            mAppDes = appDes;
        }
        public void run() {
            ApplicationManager appMan = ApplicationManager
                    .getApplicationManager();
            int processId = appMan.getProcessId(mAppDes);
            appMan.requestForeground(processId);
        }
    }

    void makeAppMenuItems(Menu menu) {
        for (int i = 0, cnt = mAppDes.length; i < cnt; i++)
            menu.add(new AppMenuItem(mAppDes[i]));
    }
}
于 2009-09-23T08:21:59.493 に答える
2

RuntimeStoreのAPIリファレンスをご覧ください。

また、アプリをバックグラウンド/フォアグラウンドに切り替える方法についてのナレッジベースエントリ。

幸運を!

于 2009-09-23T06:52:26.567 に答える
1

本当の答えではありませんが、システムは私にコメントさせません。

実行中のバックグラウンドアプリケーションが何であるか、またはアプリケーションがバックグラウンドで実行されているかどうかを本当に知る必要がありますか。後者の場合、ランタイムストアを使用して何かを構築できると思います

于 2009-07-08T10:31:17.630 に答える