2010-06-30 35 views
9

안드로이드의 알람 응용 프로그램에 저장된 알람 목록을 얻을 수 있습니까? Alarm 응용 프로그램에 설정된 경보를 표시하는 데 필요한 응용 프로그램을 만들고 있습니다.알람 응용 프로그램에 저장된 모든 알람 가져 오기

고맙습니다

+1

AFAIK에는 많은 시계 알람 응용 프로그램이 있다는 것을 알고 있습니다. 아마도 모두 자체 데이터 세트를 사용하고있을 것입니다. – Pentium10

답변

14

이에 대한 this post에 대한 좋은 설명이있다. AlarmClock 앱이 앱이 설치된 모든 기기에있을 것이라는 보장은 없습니다. 예를 들어, 많은 HTC 휴대 전화가 HTC의 자체 "월드 시계"앱으로 교체됩니다.

그러나 AlarmClock 앱이 있음을 가정하면 콘텐츠 공급자로부터 커서를 가져와야합니다. 예를 들어 this project을 참조하십시오.

+5

AlarmClock 앱의 콘텐츠 제공 업체는 Android SDK의 일부가 아닙니다. 제공 업체는 향후 Android 버전에서 경고없이 변경 될 수 있습니다. 주식 AlarmClock 앱 자체의 ID는 이후 Android 버전에서 변경 될 수 있습니다. – CommonsWare

+0

고맙습니다 친구 ... 나중에 내가 언급 한 게시물을 언급했는데 안드로이드 알람 시계가 현재 존재할 것이라는 점을 고려하여 m ... 그러나 프로젝트는 매우 멋지다 ... 그것은 내가 필요한 것들을 대부분 가지고있다 ... 그것을 확인하고 기한 내에 응답 할 것입니다 ... Thanx again 젠장. – JaVadid

+0

@CommonsWare 정보 마크를위한 고맙습니다. 아마 맞 겠지만 일부 고객은 듣지 않습니다. 나는 생각을 떨어 뜨릴 생각이지만, 조금 유머러스하게 연구해야했다. Thanx again ... – JaVadid

8
final String tag_alarm = "tag_alarm"; 
Uri uri = Uri.parse("content://com.android.alarmclock/alarm"); 
Cursor c = getContentResolver().query(uri, null, null, null, null); 
Log.i(tag_alarm, "no of records are " + c.getCount()); 
Log.i(tag_alarm, "no of columns are " + c.getColumnCount()); 
if (c != null) { 
    String names[] = c.getColumnNames(); 
    for (String temp : names) { 
     System.out.println(temp); 
    } 
    if (c.moveToFirst()) { 
     do { 
      for (int j = 0; j < c.getColumnCount(); j++) { 
       Log.i(tag_alarm, c.getColumnName(j) 
         + " which has value " + c.getString(j)); 
      } 
     } while (c.moveToNext()); 
    } 
} 

이 코드를 사용하면 모든 세부 정보를 얻을 수 있습니다. 즐겨!

+2

이것은 실제로 좋은 대답이며 받아 들여야합니다. 이러한 레지스트리는 알람 값을 보유하고 있으며, 사용자가 수행 한 작업에 따라 int 날짜로 취급해야합니다. 알람 시계 앱이 없을 수도 있습니다. – quinestor

+0

manifest.xml에 추가해야하는 권한이 있습니까? – Niranjan

+0

기록을 위해 Android Wear에서는 작동하지 않습니다. – MonoThreaded

3

디버깅을 위해 콘솔에서 "adb shell dumpsys alarm"을 사용할 수 있습니다.