android– 如何在Google的DeskClock应用程序中设置闹钟的时间?

android– 如何在Google的DeskClock应用程序中设置闹钟的时间?,第1张

概述可以访问Root.基本上我需要一种方法来从应用程序中读取内容://settings/system/alarm_alert并获取警报的时间(或剩余时间).我找到了旧项目android-alarm-database,但这只适用于较旧的闹钟应用程序.解决方法:DeskClock应用程序(替换旧的AlarmClock应用程序)使用AlarmManager

可以访问Root.
基本上我需要一种方法来从应用程序中读取内容:// settings / system / alarm_alert并获取警报的时间(或剩余时间).

我找到了旧项目android-alarm-database,但这只适用于较旧的闹钟应用程序.

解决方法:

DeskClock应用程序(替换旧的AlarmClock应用程序)使用Alarm Manager设置警报.遗憾的是,除非您知道创建它的PendingIntent,否则无法从Alarm Manager读取现有警报. DeskClock将这些PendingIntents以及其他警报信息存储在内部数据库中.但是,还有另一种方法可以发现上次设置或删除警报的时间:

DeskClock在更新状态栏图标(带有额外的布尔警报设置以指示开/关)时发出一个名为androID.intent.action.ALARM_CHANGED的广播意图,并更新您可以使用以下广播接收器接收的Systems.Settings.NEXT_ALARM_FORMATTED:

private static final String tag = "TestReceiver"; @OverrIDepublic voID onReceive(Context context, Intent intent) {    Log.d(tag, "intent=" + intent);    Boolean message = intent.getBooleanExtra("alarmSet",false);    Log.d(tag, "alarmSet: " + message);    Log.d(tag, "next alarm: " + Settings.System.getString(context.getContentResolver(),androID.provIDer.Settings.System.NEXT_ALARM_FORMATTED));    }

并在AndroIDManifest.xml中使用以下intent过滤器:

<receiver androID:name=".TestReceiver">    <intent-filter>        <action androID:name="androID.intent.action.ALARM_CHANGED"></action>    </intent-filter></receiver>
总结

以上是内存溢出为你收集整理的android – 如何在Google的DeskClock应用程序中设置闹钟的时间?全部内容,希望文章能够帮你解决android – 如何在Google的DeskClock应用程序中设置闹钟的时间?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1109656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存