Текст уведомления очищается при нажатии на строку состояния?

В моем приложении я показываю текст уведомления и значок на панели уведомлений, но моя проблема в том, что когда пользователь нажимает clear на панели уведомлений, он очищается. Я хочу предотвратить это!? А также некоторые другие вопросы:

  1. Я хочу создавать уведомления для своего приложения с помощью различных действий, скажем, при запуске отображается «Добро пожаловать в приложение», второе действие отображает «пожалуйста, выберите», в «Действии отправки данных» отображается «Записи успешно отправлены» !!
  2. Как убрать уведомление о выходе из приложения.
  3. Как запретить пользователям очищать уведомление при нажатии кнопки очистки на панели уведомлений
  4. Как удалить уведомление из строки состояния, когда пользователь нажимает его, чтобы открыть действие?

Любая помощь?

Мой текущий код

private void Notification(String notificationTickerText, String Title,
            String text, Notification nt) {
        notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        int icon = R.drawable.nicon;
        CharSequence tickerText = notificationTickerText;

        long when = System.currentTimeMillis();
        nt = new Notification(icon, tickerText, when);

        Context context = getApplicationContext();
        CharSequence contentTitle = Title;
        CharSequence contentText = text;
        Intent notificationIntent = new Intent(this, frmLogin.class);

        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                notificationIntent, 0);

        nt.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

        notificationManager.notify(1, nt);
    }

person Trikaldarshiii    schedule 07.05.2012    source источник


Ответы (1)


Если вы читаете http://developer.android.com/guide/topics/ui/notifiers/notifications.html, который, вероятно, ответит на все ваши вопросы.

В нем упоминается, что вы можете использовать следующее, чтобы предотвратить очистку уведомления:

FLAG_NO_CLEAR флаг

Добавьте это в поле флагов, чтобы указать, что уведомление не должно очищаться с помощью кнопки «Очистить уведомления». Это особенно полезно, если ваше уведомление продолжается.

Вы можете использовать FLAG_AUTO_CANCEL для отмены уведомлений, но я не совсем уверен, что это сработает в сочетании с FLAG_NO_CLEAR. Если это не так, вам придется отменить уведомление вручную.

person THelper    schedule 07.05.2012
comment
@Photon В классе уведомлений есть поле flags, так что вы можно просто написать что-то вроде notification.flags |= Notification.FLAG_NO_CLEAR; - person THelper; 08.05.2012