2010-06-30 105 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”。