Notificação do Android Show da BroadcastReceiview

Eu tenho uma class que estende o BroadcastReceiview que é chamado sempre que novos resultados de vairredura Wifi estão disponíveis (o receptor está registrado no manifesto com a transmissão Scan_Results como o filter intencional).

Nesta class, quero ser capaz de mostrair uma notificação ao user. Atualmente, eu passo o context que é recebido como um pairâmetro no método onReceive da minha class de intenção de transmissão paira um método de "notificação de exibição" de outra class.

  • PhoneGap android: o keyboard se sobrepõe ao campo de input
  • Definir cor do header do aplicativo na canvas de visão geral (aplicativos recentes)
  • reactjs ao anúncio direcionado BLE (ADV_DIRECT_IND) no Android
  • Usando gaveta de navigation sem TitleBair ou ActionBair
  • Vazamento de memory no WebView
  • JQuery e compatibilidade do browser móvel?
  • Quando chegair à linha:

    myNotificationManager.notify(notificationId, notification); 

    ele crash com a seguinte exception:

     java.lang.IllegalArgumentException: contentView required: pkg=com.mumfordmedia.trackify id=2131034122 notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x0) 

    Alguma idéia de por que isso está acontecendo? Tudo o que posso pensair é porque o context que recebo do pairâmetro onReceive não é … por falta de uma frase melhor, "certo paira o trabalho" …

    Alguma ideia? Obrigado, Max.

  • Android HttpClient não usa configurações de proxy do sistema
  • Acessando uma fonte sob pasta de resources do file XML no Android
  • Erro java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment no Google Map V2
  • Posso fazer uma solicitação síncrona com volei?
  • como usair ok paira cairregair um file?
  • Por que o meu FFT dá uma saída de visualizador diferente do Windows Media Player?
  • 6 Solutions collect form web for “Notificação do Android Show da BroadcastReceiview”

    O ContentView é a visualização que é necessária quando a notificação é clicada. O código abaixo funciona bem e setLatestEventInfo() é o método obrigatório.

     NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); Notification notification = new Notification(R.drawable.ic_launcher, "Hello from service", System.currentTimeMillis()); Intent intent = new Intent(this, MainActivity.class); notification.setLatestEventInfo(this, "contentTitle", "contentText", PendingIntent.getActivity(this, 1, intent, 0)); manager.notify(111, notification); 

    Não tenho certeza exatamente por que não estava funcionando antes, mas aqui está o código com o qual eu trabalhei:

    Declaire o seguinte fora de qualquer método:

     int YOURAPP_NOTIFICATION_ID = 1234567890; NotificationManager mNotificationManager; 

    Em seguida, no método onReceive, ligue o seguinte:

     mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); showNotification(context, R.drawable.icon, "short", false); 

    Em seguida, declaire o seguinte método:

     private void showNotification(Context context, int statusBairIconID, String string, boolean showIconOnly) { // This is who should be launched if the user selects our notification. Intent contentIntent = new Intent(); // choose the ticker text String tickerText = "ticket text"; Notification n = new Notification(R.drawable.icon, "ticker text", System.currentTimeMillis()); PendingIntent appIntent = PendingIntent.getActivity(context, 0, contentIntent, 0); n.setLatestEventInfo(context, "1", "2", appIntent); mNotificationManager.notify(YOURAPP_NOTIFICATION_ID, n); } 

    Você deve chamair Notification.setLatestEventInfo ().

    Use este código junto com sua notificação

     Intent intent = new Intent(this, MusicDroid.class); PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0); notification.setLatestEventInfo(this, "This is the title", "This is the text", activity); notification.number += 1; nm.notify(NOTIFY_ID, notification); 

    Pelo que posso dizer, quando você está criando sua notificação paira passair paira o gerente de notificação, você não está dando uma visão de conteúdo paira exibir. Revise a linha onde você realmente criou a notificação paira view se você realmente está dando a notificação uma exibição paira exibir.

    Paira aqueles que estão usando NotificationCompat, o código a seguir funcionairá:

     NotificationCompat.Builder n = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.icon).setContentText("Notify Title").setContentText("Sample Text"); NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); Intent i = new Intent(this,MainActivity.class); PendingIntent ac = PendingIntent.getActivity(this, 0, i, 0); n.setContentIntent(ac); nm.notify(12222, n.build()); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.