Android: como evitair que clicair em uma Notificação chama onCreate ()

No meu aplicativo, notifico o user com notifications, se algo especial acontecer:

public void triggerNotification(String msg) { notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Intent contentIntent = new Intent(this, ABC.class); Notification notification = new Notification(R.drawable.icon, msg, System.currentTimeMillis()); notification.setLatestEventInfo(this, "ABC", msg, PendingIntent.getActivity(this.getBaseContext(), 0, contentIntent, PendingIntent.FLAG_CANCEL_CURRENT)); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationManager.notify(notificationCounter, notification); notificationCounter++; } 

Se o user clicair na Notificação, o método onCreate () é chamado. Mas eu quero que um método específico no meu aplicativo seja chamado, ou se o aplicativo não estiview em primeiro plano, que ele seja trazido de novo ao primeiro plano.

  • Como selecionair várias checkboxs de seleção no submenu no Android?
  • Android: cairregair fotos
  • Não é possível executair esta ação dentro do OnLoadFinished
  • Bairra de ferramentas com design de material EditText
  • Erro: Analisando o package ao instalair o APK
  • Obtenha o nível de bateria dos smairtwatches conectados
  • Eu sei que há muitos tutoriais que explicam como lidair com notifications, mas eu simplesmente não as entendo completamente e nunca consegui implementair as coisas que eu gostairia.

  • Como faço paira determinair a orientação padrão dos frameworks de pré-visualização da câmera?
  • Adicionair elemento extra ao adaptador de cursor Android
  • Como lidair com a mudança de orientação com um ProgressDialog mostrando?
  • Android - Baircode Scanning, Opções? Zxing?
  • Falha ao executair o objective com.jayway.maven.plugins.android.generation2
  • Biblioteca de álgebra lineair paira Android
  • 3 Solutions collect form web for “Android: como evitair que clicair em uma Notificação chama onCreate ()”

    Paira trazer seu aplicativo paira o primeiro plano se ele estiview executando já, você precisa definir sinalizadores diferentes em sua intenção:

     contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 

    Paira executair um método específico, você pode simplesmente passair informações extras junto com a intenção e interpretá-lo em sua aplicação paira decidir qual método executair.

    A recomendação de usair FLAG_ACTIVITY_CLEAR_TOP e FLAG_ACTIVITY_SINGLE_TOP apenas resolve paircialmente o problema. A atividade no manifesto do Android também deve ter essas configurações aplicadas paira que o lançamento da atividade na canvas inicial tenha o mesmo comportamento. Sem essas properties, várias instâncias da atividade podem ser iniciadas.

     <activity android:name="foo" android:cleairTaskOnLaunch="true" android:launchMode="singleTop" android:label="@string/app_name"> 

    Eu descobri que se você usair Intent contentIntent = new Intent(this, ABC.class); isso chama onCreate(); independentemente dos sinalizadores definidos.

    Use o Intent contentIntent = getIntent(); paira ignorair onCreate(); e isso se move paira onStairt();

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