2010-06-30 100 views
9

是否有可能獲得保存在android報警應用程序中的報警列表?我正在製作一個應用程序,只需顯示警報應用程序中設置的警報即可。獲取報警應用程序中保存的所有報警

感謝名單

+1

AFAIK知道有很多的時鐘報警應用程序,所有可能使用自己的一套數據。 – Pentium10 2010-06-30 08:01:00

回答

14

有這方面的this post一個很好的解釋。沒有保證AlarmClock應用程序將在您的應用程序安裝在每個設備上。例如,許多HTC手機取代HTC自己的「世界時鐘」應用程序。

但是,假設股票AlarmClock應用程序存在,您應該能夠從其內容提供商獲取光標。以this project爲例。

+5

股票AlarmClock應用程序的內容提供者不是Android SDK的一部分。在未來的Android版本中,提供者可能會更改而不會發出警告股票AlarmClock應用程序本身的身份可能在未來版本的Android中發生變化。 – CommonsWare 2010-06-30 09:04:38

+0

thanx好友...亞我已經提到你提到的帖子和m考慮到安卓鬧鐘將提出...但該項目是超酷...它有我需要的大部分東西...將檢查它,並在適當的時候作出迴應...再次感謝兄弟.. – JaVadid 2010-06-30 09:12:11

+0

@CommonsWare 信息感謝馬克,我想iu是正確的,但有些客戶不聽。我正在考慮放棄這個想法,但不得不研究一下他們的幽默。 Thanx再次... – JaVadid 2010-06-30 09:14:56

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

這實際上是一個很好的答案,應該被接受。這些註冊表會保留警報值,只是需要根據您對它們所做的處理將它們視爲整數日期。真的,鬧鐘應用可能不存在 – quinestor 2012-10-26 17:10:08

+0

有沒有我必須添加到manifest.xml的任何權限? – Niranjan 2014-12-22 07:01:29

+0

有關記錄,這在Android Wear上不起作用 – MonoThreaded 2015-04-22 21:54:10

3

出於調試目的,您可以從控制檯使用「adb shell dumpsys alarm」。