Я использовал пользовательское уведомление аудиопроигрывателя с пользовательским макетом, например.
simpleContentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.custom_notification);
expandedView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.big_notification);
, создал уведомление
notification = new NotificationCompat.Builder(getApplicationContext())
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("KJV Bible")
//.setOngoing(false)
.setAutoCancel(true)
.setDeleteIntent(createOnDismissedIntent(this))
.setChannelId(CHANNEL_ID).build();
и добавил прослушиватель пользовательского представления
public void setListeners(RemoteViews view) {
Intent previous = new Intent(NOTIFY_PREVIOUS);
Intent delete = new Intent(NOTIFY_DELETE);
Intent pause = new Intent(NOTIFY_PAUSE);
Intent next = new Intent(NOTIFY_NEXT);
Intent play = new Intent(NOTIFY_PLAY);
mMyBroadcastReceiver = new NotificationBroadcast(controls);
IntentFilter filterPrevious = new IntentFilter(NOTIFY_PREVIOUS);
this.registerReceiver(mMyBroadcastReceiver, filterPrevious);
IntentFilter filterDelete = new IntentFilter(NOTIFY_DELETE);
this.registerReceiver(mMyBroadcastReceiver, filterDelete);
IntentFilter filterPause = new IntentFilter(NOTIFY_PAUSE);
this.registerReceiver(mMyBroadcastReceiver, filterPause);
IntentFilter filterNext = new IntentFilter(NOTIFY_NEXT);
this.registerReceiver(mMyBroadcastReceiver, filterNext);
IntentFilter filterPlay = new IntentFilter(NOTIFY_PLAY);
this.registerReceiver(mMyBroadcastReceiver, filterPlay);
PendingIntent pPrevious = PendingIntent.getBroadcast(getApplicationContext(), 0, previous, PendingIntent.FLAG_UPDATE_CURRENT);
view.setOnClickPendingIntent(R.id.btnPrevious, pPrevious);
PendingIntent pDelete = PendingIntent.getBroadcast(getApplicationContext(), 0, delete, PendingIntent.FLAG_UPDATE_CURRENT);
view.setOnClickPendingIntent(R.id.btnDelete, pDelete);
PendingIntent pPause = PendingIntent.getBroadcast(getApplicationContext(), 0, pause, PendingIntent.FLAG_UPDATE_CURRENT);
view.setOnClickPendingIntent(R.id.btnPause, pPause);
PendingIntent pNext = PendingIntent.getBroadcast(getApplicationContext(), 0, next, PendingIntent.FLAG_UPDATE_CURRENT);
view.setOnClickPendingIntent(R.id.btnNext, pNext);
PendingIntent pPlay = PendingIntent.getBroadcast(getApplicationContext(), 0, play, PendingIntent.FLAG_UPDATE_CURRENT);
view.setOnClickPendingIntent(R.id.btnPlay, pPlay);
}
Теперь, как я могу удалить или отклонить это уведомление, проведите пальцем влево или вправо, когда пауза идентификатора игрока не включена, когда игрок находится в режиме воспроизведения?
Я использовал setDeleteIntent (), но не работал как.
private PendingIntent createOnDismissedIntent(Context context) {
Intent intent = new Intent(context, NotificationDismissedReceiver.class);
intent.putExtra("notificationId", NOTIFICATION_ID);
return PendingIntent.getBroadcast(context.getApplicationContext(), NOTIFICATION_ID, intent, 0);
return PendingIntent.getBroadcast(this, 0, new Intent(NOTIFY_DELETE), PendingIntent.FLAG_UPDATE_CURRENT);
}