首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不建议使用NEXT_ALARM_FORMATTED

不建议使用NEXT_ALARM_FORMATTED
EN

Stack Overflow用户
提问于 2014-12-06 16:47:22
回答 3查看 1.6K关注 0票数 1

自API 21 /Android5.0以来

不建议使用字段Settings.System.NEXT_ALARM_FORMATTED

做这件事的另一个选择是什么?我看到了http://developer.android.com/reference/android/app/AlarmManager.html#getNextAlarmClock(),但我真的不知道如何实现它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-02 18:01:58

您应该将android升级到APILevel21,并且您的设备也应该与此兼容,您也可以删除try..catch块,但如果在manifest.xml android中:minSdkVersion小于21则更好。

代码语言:javascript
复制
try {
    AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    am.getNextAlarmClock();
    Log.d("Nextalarm",  am.getNextAlarmClock().toString());
    } catch (NoSuchMethodError e) {
        e.printStackTrace();
    }
票数 3
EN

Stack Overflow用户

发布于 2015-01-02 10:28:04

getNextAlarmClock()是AlarmManager类中的一个公共方法,它是在API 21中引入的。您需要安装API 21级才能使用此方法。同时,对进行必要的修改。

票数 1
EN

Stack Overflow用户

发布于 2016-11-13 23:32:25

我需要一些代码来简单地测试是否存在警报,这样我就可以在全屏应用程序上更新图形。感谢大家的贡献。基于所有这些,下面是我最后实现的:

代码语言:javascript
复制
private void testAlarms() {
    String nextAlarm = null;
    if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
        AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        am.getNextAlarmClock();
        try {
            nextAlarm = am.getNextAlarmClock().toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else {
        nextAlarm = Settings.System.getString(getContentResolver(),Settings.System.NEXT_ALARM_FORMATTED);
    }
    if(TextUtils.isEmpty(nextAlarm)) {
        hideAlarm();
    } else {
        showAlarm();
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27333972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档