lunes, 17 de septiembre de 2012

Comprobar si aplicación esta Running y en pantalla

Por algun motivo,  cuando creamos una aplicación nos puede interesar saber si la aplicación esta activa en el sistema y en pantalla.  Para ello, podemos usar la siguiente función:


private boolean isOpenApp() {

      ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
      String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();

      if (!packageName.equals(TARGET_APP)) {
            return false;
      } 
      return true;
}

Si se da el caso que queremos activar la aplicación (lanzarla de nuevo en pantalla podemos sustituir el código anterior por el siguiente:

private void openApp() {

      ActivityManager am = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE);
      String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();

      if (!packageName.equals(TARGET_APP)) {
          Intent launchIntent = getPackageManager().getLaunchIntentForPackage(TARGET_APP);
            startActivity(launchIntent);
      } 
}


Espero que les haya servido.

It works!
Roger Sala

No hay comentarios:

Publicar un comentario