Come eseguire attività in background in Android

Nella mia applicazione, devo submit il messaggio di text all'utente dopo un certo intervallo. Per questo ho bisogno di eseguire il messaggio di invio di codice in background. Sto usando il responsabile di allarme per iniziare l'attività a un determinato time.What to do? c'è un altro modo per fare ciò?

  • visualizza i dati dopo each 10 secondi in Android
  • Come rilevare la suoneria di allarme o altre applicazioni utilizzando l'altoparlante?
  • Come gestire la notifica di allarme in Android?
  • Android - Come creare promemory / allarme in applicazione
  • Issue di Xamarin Android Alarm Manager
  • Problema di Alarm Manager in modalità Doze di Android 6.0
  • Aggiornamento del widget di app utilizzando AlarmManager
  • Avviare l'applicazione in un momento specifico
  • Come eseguire una riprova quando il download non riesce in AsyncTask utilizzando AlarmManager
  • Problema di Alarm Manager in modalità Doze di Android 6.0
  • AlarmManager smette di funzionare in Android 4.4.2 (utilizzando SetExact ())
  • AlarmManager con fonegap
  • 5 Solutions collect form web for “Come eseguire attività in background in Android”

    Potresti esaminare i servizi che sono attività basate su UI.

    sì. dovresti utilizzare il Servizio per get questo risultato. Possono funzionare in background fino a chiudere esplicitamente. IntentService è un'altra alternativa

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

    Questo potrebbe aiutare .. Aggiungi questo a android manifesto ..:

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

    Utilizza anche AsyncClass per i tuoi processi di lunga durata / background.

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

    Per coloro che vogliono farlo con un'attività, e non con un servizio (ci possono essere situazioni quando questo è necessario), l'ho fatto avviando l'attività il modo consueto, e poi nella creazione dell'attività ho inviato al servizio background chiamando moveTaskToBack (true).

    Vedere Invio di un'applicazione in esecuzione a livello di programmazione

    Se si utilizza questo metodo, è necessario aggiungere un'opzione aggiuntiva all'intento con cui si avvia l'attività, in modo che conosca inCreate che deve inviarsi allo background. Lo fai chiamando il metodo putExtra del Intento. Nell'attività di Creazione, si ottiene l'intento di chiamata con getIntent, quindi recupera le informazioni fornite con getStringExtra, per esempio (ho usato una string extra info). Consultare la documentazione della class Intent.

    È consigliabile utilizzare i servizi s per raggiungere tale objective, ma ho incontrato una situazione simile quando ne ha bisogno di qualcosa da un'altra applicazione – e l'intenzione per il servizio non è stata esportta, quindi l'unico modo per avviare il servizio è avviare l'attività – e per mantenere l'utente nella mia app ho bisogno di mantenere la mia attività in primo piano. In questo caso è ansible avviare l'altra attività in AsyncTask e poi in onPostExecute riavviare me stesso.

      (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(); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.