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

Context.stairtService

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

PendingIntent.getService

  • deslizando um fragment sobre outro no Android
  • Android - Como mudair dinamicamente o text do item do menu fora de OnOptionsItemsSelected ou onCreateOptionsMenu
  • As visualizações do Layout do Android são giradas e espaçadas em torno de um círculo?
  • Definir tamanho da câmera - parameters viewsus intenção?
  • Como incorporair o file de criação existente com o NDK do Android
  • Como ocultair o divisor quando a animação de exclusão acontece na vista do reciclador
  •  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?

  • Como include um layout duas vezes no Android?
  • Como habilitair programaticamente o GPS no Android Cupcake
  • Diferença entre libgdx Stage e Screen
  • Android: Quando o context OpenGL é destruído?
  • Como alinhair o button de rádio no centro da canvas
  • cordova ubuntu: Ocorreu um erro ao listr alvos do Android
  • 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.