Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: cómo comprobar si la aplicación se está ejecutando en segundo plano

Soy novato de android. Tengo aplicación cliente basado servidor. El servidor sigue enviando las notificaciones de actualización al cliente después de cada minuto y, en el lado del cliente, mi aplicación recibe esas actualizaciones y las muestra con Toast. Pero ahora mi problema es cuando mi aplicación cliente entra en el servidor de fondo sigue enviando las notificaciones de actualización y mi cliente lo muestra como si la aplicación está en primer plano. No estoy recibiendo cómo comprobar que la aplicación se está ejecutando en segundo plano.

  • Java.lang.ClassNotFoundException android + eclipse + maven + osx
  • Desarrollo de aplicaciones de Android mediante lenguaje ensamblador
  • ¿Cómo simular eventos de sensor de Android?
  • Cómo cambiar el nombre de los archivos en Android Studio
  • Firebase android proxy setting
  • Android studio, ¿cómo eliminar la carpeta con referencias?
  • Google Play Services hace que el apk sea demasiado grande
  • Android Row se convierte en Unclickable con el botón
  • 4 Solutions collect form web for “Android: cómo comprobar si la aplicación se está ejecutando en segundo plano”

    http://developer.android.com/guide/topics/fundamentals.html#lcycles es una descripción del Ciclo de Vida de una aplicación android.

    El método onPause () se llama cuando la actividad entra en segundo plano. Así que puede desactivar las notificaciones de actualización en este método.

    Actualización, vea esto primero:

    Comprobar si una aplicación de Android se está ejecutando en segundo plano


    Para comprobar si su aplicación se envía a fondo, puede llamar a este código en onPause() en cada actividad de su aplicación:

      /** * Checks if the application is being sent in the background (ie behind * another application's Activity). * * @param context the context * @return <code>true</code> if another application will be above this one. */ public static boolean isApplicationSentToBackground(final Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = am.getRunningTasks(1); if (!tasks.isEmpty()) { ComponentName topActivity = tasks.get(0).topActivity; if (!topActivity.getPackageName().equals(context.getPackageName())) { return true; } } return false; } 

    Para que esto funcione debes incluir esto en tu AndroidManifest.xml

     <uses-permission android:name="android.permission.GET_TASKS" /> 

    Sólo para API de nivel 14 y superior

    Puede utilizar ComponentCallbacks2 en una activity , service , etc.

    Ejemplo:

     public class MainActivity extends AppCompatActivity implements ComponentCallbacks2 { @Override public void onConfigurationChanged(final Configuration newConfig) { } @Override public void onLowMemory() { } @Override public void onTrimMemory(final int level) { if (level == ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) { // app is in background } } } 

    Puede utilizar getRunningAppProcesses () en ActivityManager.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.