Domanda

Nel mio simulatore di Blackberry i metri lineari di due applicazioni sullo sfondo ora voglio retrive che sono l'applicazione in esecuzione in background.I non come fare. E 'possibile dimostrare che sono l'applicazione in esecuzione in background.

È stato utile?

Soluzione

List e passare all'applicazione visibile

alt text http://img195.imageshack.us/img195/7003/applist.png link testuale http://img32.imageshack.us/img32/9273/applistmenu.png

Codice:

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]));
    }
}

Altri suggerimenti

Date un'occhiata al riferimento API per la RuntimeStore .

E un ingresso Knowledge Base come passare un'App per lo sfondo / primo piano.

Buona fortuna!

Non proprio una risposta, ma il sistema non mi permette di commentare.

Avete veramente bisogno di sapere quali sono le applicazioni in esecuzione di sfondo sono, o semplicemente se le applicazioni sono in esecuzione in background. In quest'ultimo caso immagino si può costruire qualcosa usando l'archivio di runtime

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top