0

I have a MediaPlayer Service, that plays songs even when the app is minimized. Now i wanted to display a "player notification" for the user to interact and that the service doesn't get killed. I have implemented the two functions but the notification just doesn't show up. I hear the notification sound and when i go to app info i see the 2 notification channels but no notification. Is it because i am calling the method in a service?

@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, 0, intent, 0);

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

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

        Intent nextIntent = new Intent(this, NotificationReceiver.class).setAction(ACTION_NEXT);
        PendingIntent nextPendingIntent = PendingIntent.getBroadcast(this, 0, 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);
    }
Zoe
  • 27,060
  • 21
  • 118
  • 148
Luis Ka
  • 95
  • 7
  • https://stackoverflow.com/questions/63501425/java-android-media-player-notification this link will help you out surely – Usama Altaf Feb 23 '21 at 12:05
  • Does this answer your question? [Java Android Media Player (Notification)](https://stackoverflow.com/questions/63501425/java-android-media-player-notification) – Usama Altaf Feb 23 '21 at 12:06

0 Answers0