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

1

Я создаю уведомление строки состояния из службы, которая всегда работает в фоновом режиме. Я хочу отменить уведомление, если пользователь не постучал его в течение 5 минут.

Итак, как я могу проверить, все ли активны уведомления о статусной строке?

Я узнал, что мы можем выполнить запрос getBroadcast с FLAG_NO_CREATE, если он возвращает Non Null, значит, уведомление о статусной строке все еще активно. Но для меня это alwasy возвращает null, хотя уведомление о статусной строке активно. Пожалуйста, найдите код ниже.

Пожалуйста, дайте мне знать, если я что-то делаю неправильно.

Код:

/* Notification intent creation */

Intent notificationIntent = new Intent(Intent.ACTION_MAIN, null);
            notificationIntent = new Intent(Intent.ACTION_MAIN, null);
            notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);

            final ComponentName cn = new ComponentName("com.ActivityTrackingUI", "com.ActivityTrackingUI.Main");
            notificationIntent.setComponent(cn);

/* check */

            if(PendingIntent.getBroadcast( this, 0, notificationIntent, PendingIntent.FLAG_NO_CREATE) != null)
            {
                Log.e("","notification present");
            }
            else
                Log.e("","notification not present");

всегда печатает уведомление не присутствует

Теги:

1 ответ

0

Вы должны указать правильное значение requestCode в качестве второго параметра для PendingIntent.getBroadcast, поэтому его значение будет таким же, как при создании уведомления. См. Также здесь для деталей: http://code.google.com/p/android/issues/detail?id=7780

Ещё вопросы

Сообщество Overcoder
Наверх
Меню