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


Cómo ejecutar la actividad en segundo plano en Android

En mi aplicación, necesito enviar el mensaje de texto al usuario después de un cierto intervalo. Para eso necesito ejecutar el mensaje que envía el código en fondo. Estoy utilizando el administrador de alarmas para iniciar la actividad en el momento específico.¿Qué hacer? Hay otra manera de hacer esto?

  • ¿Cómo mantener una conexión TCP establecida indefinidamente?
  • No se puede comprobar si AlarmManager ha configurado la alarma
  • Uso de Alarmmanager para iniciar un servicio en un momento específico
  • Identificar y cancelar un envío de alarma a un AlarmManager
  • Notificación de Android en el momento
  • ¿Cómo crear different pendingintent para que filterEquals () devuelva false?
  • Notificación no mostrada cuando setGroup () se llama en Android KitKat
  • Cómo llenar los espacios vacíos con contenido debajo de la imagen en android
  • Problema onKeyDown ()
  • La configuración de Android cambia de forma aleatoria al valor predeterminado
  • Transferencia de datos USB
  • ¿Cómo agregar varios encabezados a lo largo de un único ListView con addHeaderView ()?
  • 5 Solutions collect form web for “Cómo ejecutar la actividad en segundo plano en Android”

    Usted podría mirar en el uso de servicios que son básicamente actividades sin UI.

    Sí. Usted debe utilizar el servicio para lograr esto. Pueden funcionar en fondo hasta cerrado explícitamente. IntentService es otra alternativa

    http://developer.android.com/guide/topics/fundamentals/services.html

    Esto podría ayudar .. Añadir esto a android manifest ..:

    Usa-permission android: name = "android.permission.ACCESS_BACKGROUND_SERVICE"

    También utilizar AsyncClass para su largo / procesos de fondo .. Como esto .:

    http://developer.android.com/reference/android/os/AsyncTask.html

    Para aquellos que quieren hacerlo con una Actividad, y no mediante el uso de un servicio (puede haber situaciones cuando esto sea necesario), lo hice iniciando la Actividad de la manera habitual, y luego en la Actividad enCrear la envié a la Fondo llamando a moveTaskToBack (true).

    Consulte Envío de una aplicación en ejecución a un programa de fondo mediante programación

    Si utiliza este método, debe agregar una información adicional a la intención por la que iniciar la actividad, para que sepa en onCreate que debe enviar a sí mismo al fondo. Para ello, llame al método putExtra del Intent. En el onCreate de la actividad, obtienes el intento de llamada con getIntent, luego recuperas la información que has puesto allí con getStringExtra, por ejemplo (usé una cadena de información extra). Consulte la documentación de la clase Intent.

    Se recomienda usar Service s para lograr ese objetivo, pero he encontrado una situación similar cuando necesito algo de otra aplicación, y la intención de que el servicio no se haya exportado, por lo que la única manera de iniciar el servicio es iniciar La actividad – y para mantener al usuario en mi aplicación necesito mantener mi actividad en primer plano. En ese caso es posible iniciar la otra actividad en un AsyncTask , y luego en onPostExecute reiniciarme.

      (new AsyncTask<Void, Void, Void>() { boolean starting = false; @Override protected Void doInBackground(Void... params) { if(!externalServiceRunning()){ Intent externalIntent = getPackageManager().getLaunchIntentForPackage("com.external..."); if (externalIntent != null) { starting = true; startActivity(externalIntent); } } return null; } @Override protected void onPostExecute(Void aVoid) { if(starting) { Intent myApp = getPackageManager().getLaunchIntentForPackage("com.my.myapp"); if (myApp != null) { startActivity(myApp); } } } }).execute(); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.