2011-04-02 13 views
9

Quiero acceder y ver cuántos y qué servicios se ejecutan en segundo plano.¿Cómo verificar todos los servicios en ejecución en Android?

quiero exactamente la misma funcionalidad que podemos acceder por

Menú-> Configuración-> Aplicaciones-> Servicios en ejecución

en nuestros teléfonos móviles Android de base o pestañas. ¿Alguien puede decirme qué función o clases se han utilizado en el código fuente de Android para proporcionar esta funcionalidad?

Y si hay alguna manera de acceder a esta lista en construcción de servicios en ejecución que he mencionado anteriormente, por favor díganme porque es mejor para mí usar in-build one en lugar de crear el totalmente nuevo.

+0

http://varundroid.blog.com/2011/05/22/androidscreens/ no sé esta solución está bien o mal pero funciona bien para mí. – Varundroid

Respuesta

5

Aquí hay una respuesta completa.

Paso 1. En primer lugar tiene que declarar e inicializar algunas variables: -

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. 

Paso 2. Intención una instancia de un

Intent intent = new Intent(); 

Paso 3. Ajustar acción a ACTION_VIEW

intent.setAction(Intent.ACTION_VIEW); 

Paso 3. Establecer el nombre de la clase dentro de la intención, ya que sabemos que el paquete puede tener más de una actividad. Así que Intent necesita algo para que coincida con la actividad dentro del nombre del paquete.

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. 

Paso 4. Iniciar la actividad

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

En el ejemplo anterior, si desea acceder a alguna pantalla diferente a continuación, cambiar el APP_DETAILS_PACKAGE_NAME y SCREEN_CLASS_NAME según su necesidad.

Realmente no sé si este método está documentado o no, pero funciona como un encanto para mí.

+0

¿Funciona este método para todas las versiones de Android o solo debajo de 2.2 (Froyo)? Si es así, ¿conoce una forma de implementar esto para 2.3+? Gracias. – user959631

+0

Cuando probé la última vez, mi aplicación funcionaba bien, así que supongo que SÍ. – Varundroid

+0

Ahh, bien, gracias, ¿cómo podría hacer que muestre el proceso/servicios en ejecución de mi aplicación en lugar de todos los servicios? ¿Algunas ideas? ¿Es posible hacer eso? – user959631

1

Presumiblemente, está llamando al getRunningServices() en ActivityManager. No hay documentado Intent para ir directamente a esa pantalla.

+0

acabo de comprobar en Internet que hay pocas aplicaciones en el mercado como "Advance Task Manager" que accede a esa pantalla directamente con un clic, lo que significa que hicieron una llamada a la misma función que Android cuando hacemos clic en "Running Services". – Varundroid

+3

@Varundroid: Es bueno, pero no está documentado ni es compatible, por lo que usted (y ellos) no deberían usarlo. Lo más cercano que está documentado y admitido es 'ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS' en' android.provider.Settings'. – CommonsWare

0

Te registras en su dispositivo

1- Ir a la configuración móvil 2- Haga clic en Administrador de aplicaciones 3- Deslizar hacia la izquierda para ver las aplicaciones en ejecución

Este es el lugar donde encontrará que ejecuta la aplicación a lo largo de los servicios de explotación, según se muestra en la imagen adjunta:

enter image description here

+1

Aleem, quise decir programáticamente. Gracias por responder la pregunta de 6 años. ¡Aclamaciones! – Varundroid

2

Comprobar Este Enlace:

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


Dónde encontrar los servicios en ejecución en Android 6.0 Como he señalado antes, el

5.x Android y a continuación, se podía ver lo que estaba pasando saltando en Configuración> Aplicaciones> En ejecución. Esto muestra los procesos en ejecución y los servicios , junto con la cantidad de memoria (RAM) que está siendo utilizada por las aplicaciones System y , así como también la cantidad disponible.


Para encontrar el mismo menú en la melcocha, primero necesita habilitar Opciones de desarrollo. Haga esto dirigiéndose a Configuración, luego a Acerca del teléfono.


Una vez allí, encontrará la información Software sección que será un entrada separada en algunos teléfonos (Samsung, LG), pero no en otros, como los dispositivos Nexus . Está buscando el Número de compilación, por lo que puede tener que pulsar un poco antes de encontrarlo. El first two images below se tomaron del Samsung Galaxy S7 Edge y el último del Nexus 6P. Como puede ver, la compilación está en dos lugares diferentes.



Cuando lo has encontrado, pulse siete veces. Verá una notificación de tostado que le informará cuántos quedan hasta que "se convierta en un desarrollador de ". Una vez que se ha tocado siete veces, se abrirá un nuevo menú en el menú principal de Configuración, encima de Acerca del teléfono.


De vuelta en la configuración, la cabeza en Opciones de desarrollo. Debería ver "Running services" un poco más abajo en este menú, eso es lo que está buscando. Una vez que toque "Servicios en ejecución", se le presentará una pantalla familiar , que es exactamente la misma de Lollipop.Solo en un lugar diferente .


+0

Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la crítica] (/ review/low-quality-posts/17598436) – EJoshuaS

Cuestiones relacionadas