2014-02-22 5 views
18

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

ответ

14

Короткий ответ: вы не можете.

Аварийный диспетчер не отображает предупреждения, которые в настоящее время запланированы в системе. Каждое приложение, использующее диспетчер аварийных сигналов, должно сохранять состояние каждого установленного аварийного сигнала.

Однако вы можете получить список через adb, как описано в этом вопросе Get list of active PendingIntents in AlarmManager. А приложение может получить системный дамп и получить сигналы тревоги таким образом, но для этого потребуется root.

+0

Но есть приложения, которые можно установить/обновить активные аварийные сигналы. Как они могут это сделать? – julestruong

+0

Приложения могут устанавливать/изменять свои собственные аварийные сигналы, сохраняя список активных аварийных сигналов. Список будет сохранен с использованием SharedPreferences или sqlite. Чтобы изменить или удалить тревогу, воссоздайте объект тревоги точно так же, как и когда он был установлен, и используйте методы AlarmManger. Приветствия. –

+1

С помощью активных аварийных сигналов я имел в виду аварийные сигналы, созданные в Android-приложении «Часы». Можем ли мы получить доступ к этим тревогам? – julestruong

11

Нет, AFAIK вы не можете сделать это программно, поэтому показ этой информации пользователю в пользовательском интерфейсе невозможен.

Однако для вашей собственной ссылки вы можете сбросить данные сигнализации через

adb shell dumpsys alarm 

Вам не нужно разрешение корневого для этого.

Но то, что вы получаете сверху, может быть очень запутанным для понимания. Чтобы полностью понять эту свалку, вы должны проверить ответ морфата here.

3

Если вы имеете в виду активные аварийные сигналы, то в приложении будильника устройства, я думаю, вы можете. Попробуйте проверить методы с Here.

Однако, если вы хотите видеть все тревоги, созданные AlarmManager на вашем устройстве, то, к сожалению, вы не можете сделать это программно.

Но, вы можете просматривать данные дампа в текстовом файле, как это:

adb shell dumpsys alarm > dump.txt 
Смежные вопросы