Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.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 为什么我的Android通知没有显示?_Java_Android_Broadcastreceiver_Alarmmanager_Android 8.0 Oreo - Fatal编程技术网

Java 为什么我的Android通知没有显示?

Java 为什么我的Android通知没有显示?,java,android,broadcastreceiver,alarmmanager,android-8.0-oreo,Java,Android,Broadcastreceiver,Alarmmanager,Android 8.0 Oreo,所以,我正在开发一个Android应用程序,我需要在特定时间发送特定事件的通知 然而,出于某种原因,尽管应用程序没有返回任何错误或类似的内容,但通知本身并没有显示出来 我可能做错了什么?这是我的Receiver课程 测试打印工作正常,因此我认为与接收器的连接不是问题 public class NotReceiver extends BroadcastReceiver{ @RequiresApi(api = Build.VERSION_CODES.O) @Override public void

所以,我正在开发一个Android应用程序,我需要在特定时间发送特定事件的通知

然而,出于某种原因,尽管应用程序没有返回任何错误或类似的内容,但通知本身并没有显示出来

我可能做错了什么?这是我的
Receiver
课程

测试打印工作正常,因此我认为与接收器的连接不是问题

public class NotReceiver extends BroadcastReceiver{
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onReceive(Context context, Intent intent) {
    System.out.println("test");
    NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
    builder.setAutoCancel(true)
            .setDefaults(Notification.DEFAULT_ALL)
            .setContentTitle("doge")
            .setContentText("456")
            .setSmallIcon(R.mipmap.ic_launcher)
            .build();

    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(1, builder.build());
    }
}
这是我的闹钟功能

@RequiresApi(api = Build.VERSION_CODES.O)
public void sendNotif(View view) {

    AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent myIntent;
    PendingIntent pendingIntent;

    myIntent = new Intent(EventsActivity.this, NotReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(this, 0, myIntent, 0);

    am.set(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime()+100, pendingIntent); 
}

是的,可能是重复的,这是丢失的频道ID。