Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自BroadcastReceiver的Android通知未显示_Java_Android_Android Notifications - Fatal编程技术网

Java 来自BroadcastReceiver的Android通知未显示

Java 来自BroadcastReceiver的Android通知未显示,java,android,android-notifications,Java,Android,Android Notifications,我想创建一个通知(从一个广播接收器-如果这有区别的话) 我不知道为什么,但它只是没有出现 private void showNotification(Context context, String text) { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context) .setSmallIcon(R.

我想创建一个通知(从一个广播接收器-如果这有区别的话)

我不知道为什么,但它只是没有出现

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());

    }

我已经尝试过(并且)

从广播接收器创建一个通知-这很重要! 您应该在代码中重写此字符串:

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

这些问题可以是:

-1:在广播接收器未调用的位置添加方法showNotification

-2:您没有注册广播接收器

-3:更换这个

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


如果第3点不起作用,请附上您的整个广播接收器代码,以及您呼叫它的位置。

感谢所有答案,但我意外地解决了它。 我不知道是哪一点真正解决了这个问题,但我试过: 1.清洁的 2.重建 3.关闭Android studio 4.重新启动
5.重新启动android studio

显示您的整个BroadcastReceiver类和调用它的类。添加Log.d(标记“message”);为了确保您真正达到这段代码(日志消息将显示在Logcat中),我应该在前面说:BroadcastReceiver在服务类中,所以这没有什么区别
mNotificationManager.notify(1, mBuilder.build());