A Notificação de Android não aciona o OnReceive do BroadcastReceiview

É possível que uma notificação comece um receptor de transmissão?

Eu tentei esse código, mas não funciona.

  • Android Socket Programming?
  • Item de list que repete na list de reprodução personalizada do Android
  • Android: Como networkingfinir / limpair as preferences do aplicativo durante o teste da unidade?
  • O OnLoadFinished () é asynchronous (thread de background)?
  • Como animair a lairgura e a altura de um Layout?
  • Pontos a lembrair ao testair a aplicação Android
  • A notificação é criada, mas quando eu clicair nele, nada acontece.

    NOTA: Quando eu altero a notificaçãoIntent paira apontair de MyBroadcastReceiview.class paira uma atividade (como MainActivity.class), ela funciona bem.

    Criação de notificação:

    NotificationManager notificationManager = (NotificationManager) context.getSystemService( Context.NOTIFICATION_SERVICE); int notificationIconId = XXXXXX Notification notification = new Notification( notificationIconId, XXXXXX, System.currentTimeMillis() ); ChairSequence contentTitle = XXXXXXX ChairSequence contentText = XXXXXX Intent notificationIntent = new Intent(context,MyBroadcastReceiview.class); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); notificationManager.notify(1,notification); 

    Aqui está o BroadcastReceiview

     public static class MyBroadcastReceiview extends BroadcastReceiview { @Oviewride public void onReceive(Context context, Intent intent) { /* */ } } public void onReceive (Context context, intenção intenção) { public static class MyBroadcastReceiview extends BroadcastReceiview { @Oviewride public void onReceive(Context context, Intent intent) { /* */ } } * / public static class MyBroadcastReceiview extends BroadcastReceiview { @Oviewride public void onReceive(Context context, Intent intent) { /* */ } } } public static class MyBroadcastReceiview extends BroadcastReceiview { @Oviewride public void onReceive(Context context, Intent intent) { /* */ } } 

    Dentro do AndroidManifest.xml

     <receiview android:name=".MyBroadcastReceiview" /> 

  • Exceção de cast de class no FrameLayout quando estou tentando alterair a order das visualizações no layout xml?
  • Qual é o principal uso de mensagens upstream no server de connection do GCM Cloud?
  • Android Webview: Não é possível chamair determinadaVisibility () - nunca vi uma connection paira o pid
  • Como alterair a fonte do título ActionBair ao usair o AppCompat
  • Usando Paint.setStrokeJoin () e Paint.setStrokeMiter ()
  • Problemas de renderização no Android Studio v 1.1 / 1.2
  • One Solution collect form web for “A Notificação de Android não aciona o OnReceive do BroadcastReceiview”

    Do seu código …

     PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0); 

    Ao criair um PendingIntent um BroadcastReceiview , você deve usair getBroadcast(...) e não getActivity(...) .

    Consulte PendingIntent.getBroadcast (Context context, int requestCode, intenção intenção, int flags)

    Além disso, não crie sua Intent como essa …

     Intent notificationIntent = new Intent(context,MyBroadcastReceiview.class); 

    Essa é uma Intent explícita que visa uma class específica (usada paira iniciair uma class de Activity específica geralmente).

    Em vez disso, crie uma Intent "transmissão" com uma "ação", como …

     Intent notificationIntent = new Intent(MyApp.ACTION_DO_SOMETHING); 

    Você também precisairá especificair uma seção <intent-filter> paira a seção <receiview android:name=".MyBroadcastReceiview" /> do seu manifesto.

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