android - Android:更改联系人时,带有广播接收器的前台服务停止工作
问题描述
所以我有这个 Android (API 29) 应用程序,我在其中使用运行广播接收器的前台服务,因此该应用程序可以在关闭或用户重新启动设备时检测来电。我还有一个问题,情况如下:
- 手机会检测到来电
- 它将尝试查看来电中的电话号码是否在联系人列表中
- 如果来电号码保存在通讯录中,来电者信息正常显示
- 如果传入的电话号码对联系人“未知”,它将获取有关呼叫者的信息并将其显示在 SYSTEM_ALERT_WINDOW 中。
问题是: 如果您要在前台服务运行时更改联系人或删除号码。广播接收器将停止工作。如果您随后接到电话,广播接收器会出于某种原因忽略它。
如果您要退出应用程序/服务然后重新启动它,一切都会正常进行,直到您对联系人列表进行更改。
谢谢你的帮助
解决方案
从联系人列表中获取联系人似乎存在问题。我最终尝试了另一种从联系人列表中获取联系人的方法。这看起来解决了这个问题,但不确定联系人检查如何破坏以前的实现。
推荐阅读
- reactjs - reactjs网站的Heroku部署成功,但仍然显示“应用程序错误”
- c# - 将具有相同名称的不同xml元素反序列化为不同的C#类
- r - 有没有办法复制具有重叠模式的矩阵?
- sql - 如何根据另一个表中另一列的值更新表中的列
- php - Drupal TCPDF 不创建 pdf
- eclipse - Maven eclipse 工作区路径
- java - WebView android不允许全屏
- python-3.x - 带有水平和垂直滚动条的 GUI 表(水平不能正常工作)
- angularjs - 更改时,我们可以在浏览器中自动刷新 Angular js 代码吗?
- javascript - 使用 CefSharp 将字符串/JSON 从 C# 传递到 JS