2016-12-20 6 views
0

В моем приложении у меня есть уведомление с действием паузы/воспроизведения, однако, когда пользователь нажимает на действие, панель уведомлений закрывается. Как я могу запретить закрытие панели уведомлений при нажатии кнопки?Как предотвратить закрытие панели уведомлений после действия уведомления нажмите

Метод, который создает notifcation:

public void createNotification() { 
     Intent intent = new Intent(this, MainActivity.class); 
     PendingIntent pIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0); 

     Intent intent2 = new Intent(this, IntentActivity.class); 
     intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
     pIntent2 = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent2, 0); 

     builder = new NotificationCompat.Builder(context); 
     Notification noti = builder 
       .setAutoCancel(true) 
       .setContentTitle("Title") 
       .setSmallIcon(R.drawable.ic_launcher) 
       .setContentIntent(pIntent) 
       .setPriority(Notification.PRIORITY_MAX) 
       .setStyle(new NotificationCompat.BigTextStyle().bigText("Czas trwania: " + time + "\nKalorie: 4kcal")) 
       .addAction(icon, actionString, pIntent2).build(); 

     notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
     notificationManager.notify(0, noti); 
    } 

ответ

2

изменить код из

setAutoCancel(true) 

в

setAutoCancel(false) 
+0

Я думаю, что я не сделал себя понятным, я хочу, чтобы предупреждающий ящик не скрывался при нажатии действия. Мне нужно setAutoCancel (true), чтобы отклонить уведомление, когда пользователь нажимает на него (при действии уведомления не уведомляется) – user1852879

+0

@ user1852879 Попробуйте это. –

+0

Я попробовал, и ящик все еще закрывается, когда я устанавливаюAutoCancel (false), он только сохраняет уведомление в ожидании, когда пользователь нажимает на него. – user1852879

0

Строя Уведомление по NotificationBuilder вы можете использовать builder.setAutoCancel(false);.

 Смежные вопросы

  • Нет связанных вопросов^_^