2013-11-22 2 views
3

Я хочу создать уведомление (из BroadcastReceiver - если это имеет значение)Android уведомления из BroadcastReceiver не показывая

Я не знаю, почему, но это просто не появляется!

private void showNotification(Context context, String text) { 

     NotificationCompat.Builder mBuilder = 
       new NotificationCompat.Builder(context) 
         .setSmallIcon(R.drawable.notification_icon) 
         .setContentTitle(getString(R.string.app_name)) 
         .setContentText(text) 
         .setAutoCancel(true); 

     NotificationManager mNotificationManager = 
       (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

     mNotificationManager.notify(0, mBuilder.build()); 

    } 

Я попытался thisthis)

+0

Показать все ваше ** BroadcastReceiver ** Класс и класс, вызывающие его. – Naddy

+0

Add Log.d (TAG, "message"); строки, чтобы убедиться, что вы действительно достигли этого кода (сообщения журнала будут отображаться в Logcat) –

ответ

1

Спасибо всем, но я решил его решить неожиданно. я не знаю, какой момент действительно решил, но я попытался это: 1. Чистый 2. Перестройка 3. Закрыть Android студия 4. Reboot 5. Restart андроида студии

1

Создать уведомление от BroadcastReceiver - что делает разницу! Вы должны переписать эту строку в коде:

NotificationManager mNotificationManager = 
       (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
+1

Я должен был сказать это раньше: BroadcastReceiver находится в классе обслуживания, так что это не имеет значения –

1

Вопросы могут быть следующие:

-1: добавить метод showNotification, в положении, когда он не называется широковещательным приемником.

-2: вы не регистрируете вещательный приемник

-3: заменить этот

mNotificationManager.notify(0, mBuilder.build()); 

с

mNotificationManager.notify(1, mBuilder.build()); 

Если точка 3 не работает, пожалуйста, приложите свои весь код приемника вещания и где вы его вызываете.

+0

Что нужно делать 3 ? –

Смежные вопросы