获取警报应用程序中保存的所有警报

JaV*_*did 9 android alarms

是否有可能获得在android的警报应用程序中保存的警报列表?我正在制作一个应用程序,只需要显示警报应用程序中设置的警报.

感谢名单

sea*_*ges 14

这篇文章对此有一个很好的解释.无法保证AlarmClock应用程序将安装在您的应用程序所安装的每个设备上.例如,许多HTC手机用HTC自己的"世界时钟"应用程序取而代之.

但是,假设存在股票AlarmClock应用程序,您应该能够从其内容提供商处获取游标.见这个项目作为一个例子.

  • StockClock应用程序的内容提供商不是Android SDK的一部分.在未来的Android版本中,提供商可能会在没有任何警告的情 在未来的Android版本中,股票AlarmClock应用程序本身的身份可能会发生变化. (5认同)
  • 由AlarmClock的应用公开的接口可以改变,如通过@CommonsWare说明,但是这是从任何其他Android应用程序公开一组意图或内容提供商的没有什么不同.您需要优雅地处理异常,但仔细设计(以及大量测试)应该提供相当稳定的实现. (4认同)

小智 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());
    }
}
Run Code Online (Sandbox Code Playgroud)

使用此代码......您将获得所有详细信息.请享用!

  • 这实际上是一个很好的答案,应该被接受.这些寄存器保持警报值,只是它们需要被视为int日期,具体取决于您对它们的处理方式.也可以,闹钟应用程序可能不存在 (2认同)