Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
AndroidProg
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 58
#1

Автоматическое удаление уведомления в статус баре, после нажатия на него - Программирование Android

30.01.2014, 21:38. Просмотров 1642. Ответов 2
Метки нет (Все метки)

Создаю уведомление из Activity в onCreate():

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    NotificationManager notificationManager;
 
    notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
 
        Uri address = Uri.parse("http://site");
        Intent openLink = new Intent(Intent.ACTION_VIEW, address);
        PendingIntent pIntent = PendingIntent.getActivity(this, 1, openLink,       PendingIntent.FLAG_CANCEL_CURRENT);
 
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
 
        builder.setContentIntent(pIntent)
                .setSmallIcon(R.drawable.message)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.message))
                .setTicker("Текст в строке состояния")
                .setWhen(System.currentTimeMillis())
                .setAutoCancel(true)
                .setContentTitle("Заголовок")
                .setContentText("Текст");
 
        notificationManager.notify(1, builder.build());
Всё шикарно работает, после нажатия, открывается браузер, а уведомление удаляется из статус бара.

Теперь точно также пытаюсь создать уведомление из Service, всё точно так же работает, НО уведомление из статус бара НЕ удаляется.

Вот метод onCreate() из моего Service

Java
1
2
3
4
5
6
7
8
9
10
@Override
    public void onCreate()
    {
        super.onCreate();
        Notification unusedNotification = new Notification();
        startForeground(1, unusedNotification);
        
        //Тут тоже самое создание уведомления
        
    }
Собсно где проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 21:38     Автоматическое удаление уведомления в статус баре, после нажатия на него
Посмотрите здесь:
Android Как добраться до записей (notifications) в статус-баре
Отловить изменения в статус баре Android Java Android
Вывод изображения после нажатия кнопки Android
Android Сделать кнопку невидимой после нажатия
Android Крашится программа после нажатия на кнопку
Не работает приложение после нажатия кнопки home Android
Метод вызывается только после второго нажатия на кнопку Android
Сразу после нажатия Power вызывается OnCreate. Почему? Android
GridView после нажатия назад возвращается на первую ячейку Android
Сохранить число в поле ввода после нажатия арифметического действия Android
Как восстановить значения при открытии приложения после нажатия кнопки назад Android
Отключить перескакивание между edittext после нажатия "готово" Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
30.01.2014, 21:52     Автоматическое удаление уведомления в статус баре, после нажатия на него #2
Цитата Сообщение от AndroidProg Посмотреть сообщение
НО уведомление из статус бара НЕ удаляется.
А оно и не должно, startForeground делает ваш сервис неубиваемым и добавляет уведомление. Хотите чтоб нотификейшен исчезал - юзайте только NotificationManager.notify
AndroidProg
3 / 3 / 1
Регистрация: 21.10.2012
Сообщений: 58
30.01.2014, 22:00  [ТС]     Автоматическое удаление уведомления в статус баре, после нажатия на него #3
Мне кажется вы немного не поняли, я создаю пустое уведомление и передаю его в startForeground();
Делаю я это чтобы сервис был "неубиваемым".

Далее я создаю ещё одно уведомление:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    @Override
    public void onCreate()
    {
        super.onCreate();
        Notification unusedNotification = new Notification();
        startForeground(1, unusedNotification);
        
        NotificationManager notificationManager;
 
    notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
 
        Uri address = Uri.parse("http://site");
        Intent openLink = new Intent(Intent.ACTION_VIEW, address);
        PendingIntent pIntent = PendingIntent.getActivity(this, 1, openLink,       PendingIntent.FLAG_CANCEL_CURRENT);
 
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
 
        builder.setContentIntent(pIntent)
                .setSmallIcon(R.drawable.message)
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.message))
                .setTicker("Текст в строке состояния")
                .setWhen(System.currentTimeMillis())
                .setAutoCancel(true)
                .setContentTitle("Заголовок")
                .setContentText("Текст");
 
        notificationManager.notify(1, builder.build());
        
    }
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru