Tarefas de atualização agendadas abertas para o desenvolvimento do Android por meio de transmissões e serviços

Introdução:

Alguns aplicativos front-end, como: precisam atualizar informações meteorológicas, atualizar postagens, atualizar informações etc.

Este artigo o apresenta por meio de receptores de serviço e transmissão. É atualizada a cada 3 segundos, mas devido ao desempenho do telefone móvel, a atualização pode demorar alguns segundos.

 

Etapa 1: MainActivity.java abre o serviço

pacote com.huwan.broadcastwithservicedemo;

 

importar android.app.Activity;

importar android.content.Intent;

importar android.os.Bundle;

 

public class MainActivity estende Activity {

         @Sobrepor

         void protegido onCreate (Bundle savedInstanceState) {

                   super.onCreate (savedInstanceState);

                   setContentView (R.layout.activity_main);

                   // Inicia o serviço

                   Intenção intenção = nova Intenção (this, LongRunningService.class);

                   startService (intenção);

         }

}

 

Etapa 2: código de serviço LongRunningService.java

pacote com.huwan.broadcastwithservicedemo;

 

importar java.util.Date;

importar android.app.AlarmManager;

import android.app.PendingIntent;

importar android.app.Service;

importar android.content.Intent;

importar android.os.IBinder;

importar android.os.SystemClock;

importar android.util.Log;

 

classe pública LongRunningService estende Service {

         @Sobrepor

         public IBinder onBind (intenção de intenção) {

                   return null;

         }

 

         @Sobrepor

         public int onStartCommand (Intent intent, int flags, int startId) {

                   novo segmento (novo Runnable () {

                            @Sobrepor

                            public void run () {

                                     Log.e ("LongRunningService", "executado em" + new Date (). ToString ());

                            }

                   }).começar();

                   Gerenciador do AlarmManager = (AlarmManager) getSystemService (ALARM_SERVICE);

                   // int anHour = 60 * 60 * 1000;

                   int anTime = 3 * 1000; // log a cada 3 segundos

                   longo triggerAtTime = SystemClock.elapsedRealtime () + anTime;

                   Intenção i = new Intent (this, AlarmReceiver.class);

                   PendingIntent pi = PendingIntent.getBroadcast (este, 0, i, 0);

                   manager.set (AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi);

                   return super.onStartCommand (intent, flags, startId);

         }

 

}

 

Etapa 3: Receptor de serviço AlarmReceiver.java, solicite o serviço novamente após receber o serviço

pacote com.huwan.broadcastwithservicedemo;

 

importar android.content.BroadcastReceiver;

importar android.content.Context;

importar android.content.Intent;

 

classe pública AlarmReceiver estende BroadcastReceiver {

 

         @Sobrepor

         public void onReceive (contexto de contexto, intenção de intenção) {

                   Intenção i = new Intent (contexto, LongRunningService.class);

                   context.startService (i);

         }

 

}

A interface principal inicia um serviço, o serviço envia uma tarefa cronometrada e o receptor de transmissão recebe a tarefa e reinicia o serviço novamente, o que equivale a um daemon.

 

Download do exemplo de demonstração: http://www.huwan.xin/Source/AppPackage/ZIP/Android/BroadcastWithServiceDemo.rar

Leitura de referência: desenvolvimento Android - atualize os dados ou feche a interface através do modo de design do observador

Leitura de referência: transmissão estática de desenvolvimento para Android (incluindo transmissão para transmitir valor à atividade), introdução à transmissão dinâmica (ordenada / não ordenada)

Leitura de referência: desenvolvimento Android-Android sai de vários processos de atividade / fecha várias interfaces ao mesmo tempo / fecha a interface anterior

Os documentos acima podem resolver como atualizar a interface após atualizar regularmente.

Para mais informações, visite: www.huwan.xin

Acho que você gosta

Origin www.cnblogs.com/huwan/p/12758263.html
Recomendado
Clasificación