Notificationmanager.notify 不显示通知

问题描述

我有一个 MediaPlayer 服务,即使应用程序最小化,它也能播放歌曲。现在我想显示一个“玩家通知”供用户交互并且服务不会被终止。我已经实现了这两个功能,但通知没有出现。我听到通知声音,当我转到应用信息时,我看到 2 个通知渠道,但没有通知。是因为我在服务中调用方法吗?

@Override
    public void onCreate() {
        createNotificationChannel();
        mediaSession = new MediaSessionCompat(this,"PlayerAudio");
        showNotification();
    }

 private void createNotificationChannel(){

        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
            CharSequence name = "BaywatchBerlin";
            String description = "Mit Klaas Heufer Umlauf";
            int importance = notificationmanager.IMPORTANCE_LOW;
            NotificationChannel notificationChannel = new NotificationChannel("lemubitA",name,importance);
            notificationChannel.setDescription(description);
            notificationChannel.setSound(null,null);

            notificationmanager notificationmanager = getSystemService(notificationmanager.class);
            notificationmanager.createNotificationChannel(notificationChannel);
        }

    }

    public void showNotification(){
        Intent intent = new Intent(this,MainActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(this,intent,0);

        Intent prevIntent = new Intent(this,NotificationReceiver.class).setAction(ACTION_PREV);
        PendingIntent prevPendingIntent = PendingIntent.getbroadcast(this,prevIntent,PendingIntent.FLAG_UPDATE_CURRENT);

        Intent playIntent = new Intent(this,NotificationReceiver.class).setAction(ACTION_PLAY);
        PendingIntent playPendingIntent = PendingIntent.getbroadcast(this,playIntent,PendingIntent.FLAG_UPDATE_CURRENT);

        Intent nextIntent = new Intent(this,NotificationReceiver.class).setAction(ACTION_NEXT);
        PendingIntent nextPendingIntent = PendingIntent.getbroadcast(this,nextIntent,PendingIntent.FLAG_UPDATE_CURRENT);

        Bitmap picture = BitmapFactory.decodeResource(getResources(),R.drawable.logonew);

        Notification notification = new NotificationCompat.Builder(this,CHANNEL_ID_2)
                .setSmallIcon(R.drawable.logo)
                .setLargeIcon(picture)
                .setContentTitle(((ServiceState) this.getApplication()).getSongs().get(getPosition()).Name)
                .setContentText("Baywatch Berlin")
                .addAction(R.drawable.ic_skip_prevIoUs,"PrevIoUs",prevPendingIntent)
                .addAction(R.drawable.ic_play_arrow,"Play",playPendingIntent)
                .addAction(R.drawable.ic_skip_next,"Next",nextPendingIntent)
                .setStyle(new androidx.media.app.NotificationCompat.MediaStyle()
                    .setMediaSession(mediaSession.getSessionToken()))
                .setPriority(NotificationCompat.PRIORITY_LOW)
                .setContentIntent(contentIntent)
                .setonlyAlertOnce(true)
                .build();
        notificationmanager notificationmanager = (notificationmanager) getSystemService(NOTIFICATION_SERVICE);
        notificationmanager.notify(0,notification);
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)