Android:更改联系人时,带有广播接收器的前台服务停止工作

Posted

技术标签:

【中文标题】Android:更改联系人时,带有广播接收器的前台服务停止工作【英文标题】:Android: Foreground service with broadcast receiver stop working when changing contacts 【发布时间】:2021-12-13 09:46:36 【问题描述】:

所以我有这个 android (API 29) 应用程序,我在其中使用运行广播接收器的前台服务,因此该应用程序可以在关闭或用户重新启动设备时检测来电。我还有一个问题,情况如下:

    手机会检测到来电 它将尝试查看来电的电话号码是否在联系人列表中 如果来电号码保存在通讯录中,则来电显示正常 如果来电号码对联系人“未知”,它将获取有关来电者的信息并将其显示在 SYSTEM_ALERT_WINDOW 中。

问题是: 如果您要在前台服务运行时更改联系人或删除号码。广播接收器将停止工作。如果您随后接到电话,广播接收器会出于某种原因忽略它。

如果您要退出应用/服务然后重新启动,一切都会正常进行,直到您对联系人列表进行更改。

感谢您的帮助????

【问题讨论】:

【参考方案1】:

似乎从联系人列表中获取联系人时出现问题。我最终尝试了另一种从联系人列表中获取联系人的方法。这看起来解决了问题,但不确定联系人检查如何破坏以前的实现。

【讨论】:

以上是关于Android:更改联系人时,带有广播接收器的前台服务停止工作的主要内容,如果未能解决你的问题,请参考以下文章

android 如何实现后台时用通知栏显示有新的消息,当在前台时不显示通知

Android O 在打盹模式下前台服务未接收位置更新

用于应用权限的 Android 广播接收器

Android 在 Android 手机 LockScreen 上显示活动

用于更改日期的广播接收器

如何将联系人信息放入短信广播接收器类?