android - 为什么使用 AlarmManager.setAlarmClock() 设置时,仅三星 Android 9 设备上不显示闹钟图标?
问题描述
我使用 AlarmManager.setAlarmClock() 来设置闹钟。包括三星在内的所有设备都会发出警报,但在装有 Android 9 的三星设备上,时钟附近的小警报图标(屏幕右上角)不见了。我在这里遗漏了什么?
我知道该问题也影响了 Google Clock 应用程序,但最近已修复。
我的代码:
val pendingAlarm = Intent(ACTION_FIRED)
.apply {
setClass(mContext, AlarmsReceiver::class.java)
putExtra(EXTRA_ID, id)
putExtra(EXTRA_TYPE, typeName)
}
.let { PendingIntent.getBroadcast(mContext, pendingAlarmRequestCode, it, PendingIntent.FLAG_UPDATE_CURRENT) }
val pendingShowList = PendingIntent.getActivity(
mContext,
100500,
Intent(mContext, AlarmsListActivity::class.java), PendingIntent.FLAG_UPDATE_CURRENT)
am.setAlarmClock(AlarmManager.AlarmClockInfo(calendar.timeInMillis, pendingShowList), pendingAlarm)
解决方案
据我所知,我认为这是因为三星特定的安卓操作系统实现,并且似乎与三星操作系统实现本身有关。
我发现一个线程在讨论非常相似的事情,这可能会有所帮助:(在这里找到:https ://www.reddit.com/r/GalaxyS9/comments/anck2x/google_clock_no_upcoming_alarm_iconnotification/ )
我在这里找到了关于同一主题的另一个讨论:(https://forums.androidcentral.com/samsung-galaxy-note-9/952204-alarm-icon.html)
似乎操作系统只在警报响起之前的特定时间显示警报指示(有些人大致说 30 分钟,也许 OP 可以测试以验证)
这个答案不是非常有用,而且有点全面,但它似乎依赖于三星设备上 android OS 的具体实现
推荐阅读
- mongodb - mongo - cli 丢弃 Failed to mlock: 无法分配锁定的内存
- erlang - Erlang:使用主管启动 sellaprime 应用程序返回 undef 错误
- android - 如何在 UiObject 步数和 UiObject2 速度之间转换?
- node.js - Python 的 opencv 已经定义了 cv.remap 函数。opencv4nodejs中同一个函数的名称是什么?
- c# - 如何使用生成的下拉选项列表从 Unity 中的下拉 UI 元素中获取选定的分辨率
- javascript - 为“create-react-app”运行“npm start”时抛出错误消息。请参阅下面的错误消息
- elasticsearch - 如何解决 logstash 运行中的此错误?
- java - 如何使用 Java 继承求平方答案
- openssl - 在 Android arm64 上使用 openssl 的非法指令
- android - Android - 在 JsonObjectRequest 之后移动到主线程