Событие в панели уведомлений, например в строке состояния Android

Я создал уведомление, используя Notification.FLAG_ONGOING_EVENT. Теперь я хочу использовать его как переключатель включения / выключения, как Bluetooth или Wi-Fi в строке состояния.

Я хочу использовать его как выключатель для моего сервиса. Если я нажму на нее, она запустит службу, а если я нажму еще раз, она отключится. Так же, как bluetooth / wifi или другие вещи в строке состояния. Поскольку я не могу ничего поместить в строку состояния, я хочу использовать панель уведомлений таким образом. Является ли это возможным?


person Bee    schedule 20.06.2013    source источник
comment
хотите использовать его в качестве выключателя, не могли бы вы объяснить, что это значит?   -  person verybadalloc    schedule 20.06.2013
comment
Я хочу использовать его как выключатель для моего сервиса. Если я нажму на нее, она запустит службу, а если я нажму еще раз, она отключится. Точно так же, как Bluetooth / Wi-Fi или другие вещи в строке состояния. Поскольку я не могу ничего добавить в строку состояния, я хочу использовать панель уведомлений таким образом. Возможно ли это?   -  person Bee    schedule 20.06.2013


Ответы (1)


Используйте ожидающее намерение, которое запустит вашу активность и поместит дополнительные сведения, чтобы узнать, нужно ли вам включать / выключать.

// notification is clicked
Intent intent = new Intent(this, Main.class);
intent.putExtra(Main.SWITCH_ON, true);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);

Пакет дополнений для метода oncreate

Bundle extras = getIntent().getExtras();
        if(extras != null && extras.containsKey(SWITCH_ON) && extras.getBoolean(SWITCH_ON)) {
            launchMyMethod();
        }
person marshallino16    schedule 20.06.2013
comment
вы использовали тумблеры для включения-выключения? На самом деле я хочу использовать само уведомление в качестве переключателя. Если щелкнуть, будет запущен сервис. Если снова щелкнуть, служба остановится. Есть ли такой способ? - person Bee; 21.06.2013