2014-02-22 5 views
18

안드로이드 디바이스의 모든 활성 알람 목록을 프로그래밍 방식으로 우리의 응용 프로그램 에서 프로그래밍 방식으로 얻을 수있는 방법이 있습니까? 그냥 기본적으로 도움이 될 수있는 링크를 프로그래밍 방식으로 가리 킵니다. 장치에있는 모든 알람을 볼 수있는 기능을 사용자에게 제공하여 장치의 모든 활성 알람 목록을 얻고 싶습니다.안드로이드는 활성 알람 목록을 얻습니다.

답변

14

짧은 대답 : 할 수 없습니다.

경보 관리자는 현재 시스템에 예약 된 경보를 볼 수 없습니다. 알람 관리자를 사용하는 모든 앱은 설정 한 각 알람의 상태를 유지해야합니다.

그러나이 질문에 설명 된대로 adb를 통해 목록을 얻을 수 있습니다. Get list of active PendingIntents in AlarmManager. 그리고 응용 프로그램 수있는 시스템 덤프를 얻을 그런 식으로하지만 그 루트를 필요로 경보를 얻을.

+0

을하지만/업데이트 활성 알람을 설정할 수있는 응용 프로그램이 있습니다

그러나,이 같은 텍스트 파일에 덤프 데이터를 볼 수 있습니다. 어떻게 할 수 있습니까? – julestruong

+0

앱은 활성 알람 목록을 유지 관리하여 자체 알람을 설정/수정할 수 있습니다. 이 목록은 SharedPreferences 또는 sqlite를 사용하여 유지됩니다. 알람을 수정 또는 삭제하려면 알람 객체가 설정되었을 때와 똑같이 알람 객체를 다시 작성하고 AlarmManger 메서드를 사용합니다. 건배. –

+1

활성 알람이란 "시계"앱 안드로이드에서 생성 된 알람을 의미합니다. 우리는 그 경보에 접근 할 수 있습니까? – julestruong

11

아니요, AFAIK를 프로그래밍 방식으로 수행 할 수 없으므로 UI에서 해당 정보를 사용자에게 표시하는 것이 적합하지 않습니다.

그러나 자신의 참조를 위해 당신은 당신이 그것에 대해 루트 권한이 필요하지 않습니다

adb shell dumpsys alarm 

를 통해 알람 데이터를 덤프 할 수 있습니다.

하지만 위에서봤을 때 이해하기가 어려울 수 있습니다. 그 덤프를 완전히 이해하기 위해서는 호기심의 대답 here을 확인해야합니다.

3

활성 알람을 의미하는 경우 알람 시계 애플리케이션의 알람 시계를 사용하는 것이 좋습니다. 메소드를 Here에서 확인해보십시오.

그러나 AlarmManager가 장치에서 생성 한 모든 경보를보고 싶다면 프로그래밍 방식으로는 할 수 없습니다.

adb shell dumpsys alarm > dump.txt 
관련 문제