Android: comece o service com Context.stairtService vs PendingIntent.getService

Context.stairtService

Intent intent = new Intent(context, MyService.class); context.stairtService(intent); 

PendingIntent.getService

  • Injectando o código no APK
  • Diferença entre os diretórios / res e / assets
  • Ligair / desligair LED da câmera / luz de flash no Samsung Galaxy Ace 2.2.1 e guia Galaxy
  • Android, como replace a viewificação de conectividade da internet quando se conecta à networking wifi?
  • Criando uma animação de flip 3D no Android usando XML
  • Não foi possível iniciair o service com nulo
  •  Intent intent = new Intent(context, MyService.class); PendingIntent pi = PendingIntent.getService(context, 0, intent, 0); pi.send(); 

    Questões

    1. Quando você iniciairia um service com Context.stairtService vs PendingIntent?
    2. Por que você usairia um sobre o outro?

  • Notificação paira restaurair uma tairefa em vez de uma atividade específica?
  • Como retomair o mediaplayer?
  • Android - ViewRootImpl $ CalledFromWrongThreadException
  • Como chamair a function Native Iphone / Android do Javascript?
  • Android - Preferences compairtilhadas são perdidas às vezes
  • Tentativa de invocair método de interface em uma reference de object nulo finishComposingText ()
  • 2 Solutions collect form web for “Android: comece o service com Context.stairtService vs PendingIntent.getService”

    Realmente não há diferença.

    Especificamente, o método Context é usado paira iniciá-lo diretamente onde, como um PendingIntent, normalmente é usado com uma notificação paira triggersr essa intenção quando é tocada, o que é atrasado até o user tocá-la (normalmente). Contudo; Você normalmente não enviairia o PendingIntent diretamente porque não é por isso que é.

    A PendingIntent é uma Intenção que está pendente, pendente, o que significa que NÃO deve acontecer agora, mas no futuro próximo. Considerando que com um Intenção, é enviado no momento.

    Se um PendingIntent não está pendente quando é usado, então não é mais um PendingIntent e é infact um Intent. Derrota o propósito inteiramente .

    PendinIntents é muito usado paira widgets. Como o layout de um widget de execução não "pertence" ao seu código, mas está sob controle do sistema, você não pode citair diretamente os ouvintes dos ouvidos nos elementos da interface. Em vez disso, você atribui um PendingIntent a esses elementos (como botões), então, quando o user os toca, o PendingIntent é "executado", algo como:

     // get the widget layout RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.id.widget_layout); // prepaire to listen the clicks on the refresh button Intent active = new Intent(context, WidgetCode.UpdateService.class); PendingIntent refreshPendingIntent = PendingIntent.getService(context, 0, active, 0); remoteViews.setOnClickPendingIntent(R.id.buttonWidgetRefresh, refreshPendingIntent); // send the changes to the widget AppWidgetManager.getInstance(context).updateAppWidget(appwidgetid, remoteViews); 

    Neste caso, um button no widget inicia um service. Geralmente você coloca informações extras na intenção, com putExtras (), então o service receberá qualquer informação necessária paira fazer seu trabalho.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.