2011-04-02 18 views
9

Desidero accedere e vedere quanti e quali servizi sono in esecuzione in background.Come controllare tutti i servizi in esecuzione in Android?

voglio esattamente stessa funzionalità si può accedere da

Menu-> Impostazioni-> Applicazioni-> Corsa Servizi

sui nostri telefoni cellulari di base Android o schede. Qualcuno può dirmi quale funzione o classi sono state utilizzate nel codice sorgente di Android per fornire questa funzionalità.

E se c'è un modo in cui posso accedere a questo elenco di servizi in esecuzione in background che ho menzionato sopra, per favore, dimmi perché è meglio per me usare in-build uno invece di creare il tutto nuovo.

+0

http://varundroid.blog.com/2011/05/22/androidscreens/ Non so questa soluzione è giusto o sbagliato, ma funziona bene per me. – Varundroid

risposta

5

Ecco una risposta completa.

Punto 1. Per prima cosa è necessario dichiarare e inizializzare alcune variabili: -

private static final String APP_DETAILS_PACKAGE_NAME = “com.android.settings”; // Here you need to define the package name 

private static final String SCREEN_CLASS_NAME = “com.android.settings.RunningServices”; // Here you need to define the class name but NOTICE!! you need to define its full name including package name. 

Fase 2. istanziare un Intent

Intent intent = new Intent(); 

Passo 3. Impostare azione per ACTION_VIEW

intent.setAction(Intent.ACTION_VIEW); 

Passaggio 3. Impostare il nome della classe nell'intento poiché sappiamo che il pacchetto può avere più di un'attività. Quindi Intent ha bisogno di qualcosa per abbinare l'attività all'interno del nome del pacchetto.

intent.setClassName(APP_DETAILS_PACKAGE_NAME, SCREEN_CLASS_NAME); //Here you need to set package name as well as class name so it could refer to the Package and IntentFilter of the given Activity. 

Fase 4. Avviare l'attività

context.startActivity(intent); // As soon as this line will be executed Running Service screen will be displayed as a foreground activity. 

Nell'esempio di cui sopra, se si desidera accedere ad alcune schermata diversa quindi modificare l'APP_DETAILS_PACKAGE_NAME e SCREEN_CLASS_NAME secondo il vostro bisogno.

Non so davvero che questo metodo sia documentato o meno, ma funziona come un fascino per me.

+0

Questo metodo funziona per tutte le versioni di Android o solo al di sotto di 2.2 (Froyo) se si, sai un modo per implementarlo per 2.3+? Grazie. – user959631

+0

Quando ho provato per l'ultima volta, la mia app funzionava correttamente, quindi suppongo di sì. – Varundroid

+0

Ah, ok, grazie, come potrei farlo visualizzare i processi/servizi in esecuzione della mia app piuttosto che tutti i servizi? Qualche idea? è possibile farlo? – user959631

1

Presumibilmente, chiama getRunningServices() su ActivityManager. Non è documentato Intent andare direttamente a quello schermo.

+0

ho appena controllato su internet che ci sono poche applicazioni in commercio come "Advance Task Manager" che accedono a tale schermata direttamente con un clic, quindi significa che hanno fatto una chiamata alla stessa identica funzione di Android quando clicchiamo su Running Services. – Varundroid

+3

@Varundroid: È bello, ma non è documentato o supportato, quindi non lo si dovrebbe usare (e loro). Il più vicino documentato e supportato è "ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS" in "android.provider.Settings". – CommonsWare

0

loro arrivo in dispositivo

1- Vai cellulare impostazione 2- Cliccare su Gestione applicazioni 3- Far scorrere a sinistra per vedere le applicazioni in esecuzione

Questo è il luogo dove si trovano in esecuzione l'applicazione insieme servizi in esecuzione come mostrato nella immagine allegata:

enter image description here

+1

Aleem, intendevo a livello di programmazione. Grazie per aver risposto a una domanda di 6 anni. Saluti! – Varundroid

2

controllare questo Link:

How to Access Android’s List of Running Apps in 6.0 Marshmallow and Above


dove trovare i servizi in esecuzione in Android 6.0 Come ho osservato in precedenza, il

5.xe Android e qui di seguito, si poteva vedere quello che era andando avanti saltando in Impostazioni> Applicazioni> In esecuzione. Mostra sia i processi in esecuzione che i servizi , insieme a quanta memoria (RAM) viene utilizzata dalle app System e e quanto è ancora disponibile.


Per trovare lo stesso menu in Marshmallow, devi prima attivare Opzioni sviluppatore. Fai questo andando in Impostazioni, poi Informazioni sul telefono.


Una volta lì, trovare informazioni sezione Software-che sarà un voce separata su alcuni telefoni (Samsung, LG), ma non su altri, come i dispositivi Nexus . Stai cercando il numero di build, quindi potresti dover spingere lo un po 'prima di trovarlo. Il first two images below sono stati presi dal Samsung Galaxy S7 Edge e l'ultimo dal Nexus 6P. Come puoi vedere, la build è in due posti diversi.



Quando lo avete trovato, battere il sette volte. Vedrai una notifica del brindisi facendoti sapere quanti ne rimangono fino a "diventare uno sviluppatore ". Dopo averlo toccato sette volte, un nuovo menu sarà sbloccato appena sopra Informazioni su Telefono nel menu Impostazioni principali.


Torna in Impostazioni, testa in Opzioni sviluppatore. Dovresti vedere "Esecuzione dei servizi " un po 'giù per questo menu, questo è quello che stai cercando. Dopo aver toccato "Servizi in esecuzione", è necessario presentarsi con uno schermo familiare : è esattamente lo stesso di Lollipop.Solo in un posto diverso .


+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/17598436) – EJoshuaS

Problemi correlati