Прослушиватель изменения режима звонка Широковещательный приемник?

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

switch (am.getRingerMode()) {
    case AudioManager.RINGER_MODE_SILENT:
        Log.i("MyApp","Silent mode");
    break;

    case AudioManager.RINGER_MODE_VIBRATE:
        Log.i("MyApp","Vibrate mode");
    break;

    case AudioManager.RINGER_MODE_NORMAL:
        Log.i("MyApp","Normal mode");
    break;
}

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

Мне сказали, что я могу зарегистрировать AudioManager. RINGER_MODE_CHANGED_ACTION и прослушивайте намерение изменения в методе широковещательного приемника onReceive. Звучит ясно. Но я новичок в андроиде и не знаю, как его писать. Есть ли кто-то может просто написать часть кода и показать, как именно это работает вместо того, чтобы сказать использовать то или иное:) Спасибо

-121--1028786-

Argparse: игнорировать несколько позиционных аргументов, когда указан необязательный аргумент Я пытаюсь заставить argparse игнорировать тот факт, что два обычно обязательных позиционных аргумента не должны вычисляться, когда указан необязательный аргумент (-l). В основном я пытаюсь воспроизвести...

Я пытаюсь заставить argparse игнорировать тот факт, что два обычно требуемых позиционных аргумента не должны вычисляться, когда указан необязательный аргумент ( -l ).

В основном я пытаюсь реплицировать поведение --help: при указании -h все отсутствующие обязательные аргументы игнорируются.

Код примера:

parser = argparse.ArgumentParser(description="Foo bar baz")
parser.add_argument('arg1', help='arg1 is a positional argument that does this')
parser.add_argument('arg2', help='arg2 is a positional argument that does this')
parser.add_argument('-l', '--list', dest='list', help='this is an optional argument that prints stuff')

options, args = parser.parse_args()

if options.list:
   print "I list stuff"

И, конечно, если я запускаю его сейчас, я получаю:

error: too few arguments

Я пробовал разные вещи, как nargs = '?' , но не мог получить ничего работающего.

Этот вопрос довольно похож, но не получил ответа.

19
задан Mad Physicist 17 December 2018 в 03:49
поделиться