Whatsapp 或 telegram 等应用程序如何监听 Android 上的来电/消息事件?

2024-03-10

我构建了一个 VoIP 呼叫应用程序,它与服务器保持持久连接以监听任何来电。我实现了一个后台服务来做到这一点。

但自从 Oreo 以来,由于引入了后台执行限制 https://developer.android.com/about/versions/oreo/background.html

查了一下论坛,发现有人建议

  1. 将Service转换为JobService并让android调度它

    这样做,我的应用程序在停止时将无法接听电话

  2. 在前台服务中运行您的操作

    对于某些用户来说,在通知栏中看到不断的通知很烦人。因此,上述选项对我修复 Oreo 代码不起作用。

WhatsApp 如何在 Android(Oreo 及以上版本)中接收来电(VOIP)后台执行限制 https://developer.android.com/about/versions/oreo/background.html?


我假设您正在使用 SIP 建立连接并发起呼叫。如果没有不断重新发送 REGISTER 的服务,应用程序在服务器发送 INVITE 时不会收到 INVITE。

此问题的解决方法是所谓的“推送通知策略”。它的工作原理如下,当服务器发送 INVITE 时,它还会向您的应用程序发送 FCM 通知,这会唤醒您的应用程序,然后将 REGISTER 发送到您的服务器,作为回报,服务器分叉对您的应用程序的调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Whatsapp 或 telegram 等应用程序如何监听 Android 上的来电/消息事件? 的相关文章

  • 在 ios 中从 XMPP 服务器检索存档的消息

    我正在将 XMPP 功能集成到我的 ios 应用程序中 但遇到了一个无法解决的问题 问题是我无法从服务器获取存档的消息 我的客户能够登录 并且我已经成功测试了多个服务调用 发送 接收消息 获取有关用户的信息 发送后
  • Google Talk XMPP - 什么是 X-GOOGLE-TOKEN?

    我正在尝试向 Google Talk 进行身份验证 这X OAUTH2使用 OAuth2 令牌的机制是有据可查 https developers google com talk jep extensions oauth 但什么是X GOOG
  • 小米设备正在停止前台服务

    我们有一个几乎永远运行的应用程序前台服务 同时使用系统托盘上的通知 这是正常的初始化 该应用程序仅依赖于此服务 在我们测试的每台设备上 即使任务被删除 服务也会继续运行 但在小米设备上 从最近的任务滑动后 它突然停止 然后再次启动 具体取决
  • 了解应用程序在后台时何时收到 Firebase 消息

    我知道这个标题有同样的问题 但不幸的是它没有得到正确的回答 它被接受了 here https stackoverflow com questions 37711082 how to handle notification when app
  • OpenCV 2.4.3 中的阴影去除

    我正在使用 OpenCV 2 4 3 最新版本 使用内置的视频流检测前景GMG http docs opencv org modules gpu doc video html highlight gmg gpu 3a 3aGMG GPU算法
  • iOS NSURLSession,如何在didCompleteWithError中重试

    我想在我的服务器上尝试一次调用 直到成功为止 我想每 30 秒尝试一次 所以我使用 NSURLSession 进行通话 NSURLSessionDownloadTask task self session downloadTaskWithR
  • 在 Sinatra 中运行后台进程

    我有 Sinatra Rails 应用程序和一个启动一些漫长过程的操作 通常我会为后台作业排队 但这种情况太简单了 后台进程很少启动 所以队列是一个开销 那么如何在没有队列的情况下运行后台进程呢 get build logs project
  • CSS:水平滚动时背景不存在

    好的 我的背景设置如下 HTML div div CONTENT HERE div div CSS container background url image gif content width 800px margin auto 因此
  • 删除窗口的背景图像 WPF

    我在 WPF 中遇到问题 其中窗口在关闭后 应用程序的另一部分尝试写入图像之前不会释放其对背景图像文件的文件锁定 举个例子 假设我有一个 WPF 应用程序 由 3 个窗口 1 个 菜单 选择窗口和另外 2 个窗口组成 两个窗口都会创建一个I
  • 将 REST 服务与 Android 应用程序同步

    我使用一个 REST 服务来填充数据库中的信息 稍后由我的应用程序使用 我已经阅读了有关此事的多个主题 现在必须决定如何在 REST 服务和数据库之间实现同步 想象一个应用程序 它从谷歌金融 API 获取有关股票的信息并将其存储在数据库中
  • CSS:100% 宽度和背景?

    在我的页面中 有 2 3 个部分的宽度和背景为 100 当我全屏打开它时 一切正常 但当屏幕小于 960px 本节内容的宽度 时 背景图像不是整个页面 右侧的瞬间隐藏在没有背景的地方 它是白色的 你可以在这里明白我的意思 http mico
  • jQuery:根据鼠标位置移动的全屏“背景”图像[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试实现一个根据鼠标位置移动的全屏背景 例如 如果您将鼠标移动到左上角 视口将显示图像的左上角以
  • Android 中的处理程序到处理程序与 Messenger 到 Messenger 通信

    问题 使用起来是否 更好 更快且开销更少 Handler http developer android com reference android os Handler html与使用 Handler 通信相比信使 http develop
  • jQuery - 拖动div css背景

    我希望能够在 div 内按住鼠标并移动它的背景 在谷歌上搜索了很多 没有找到我想要的 这是目标 显示的地图是要拖动的对象 http pontografico net pvt gamemap http pontografico net pvt
  • 使用 IntentService 使用 Camera2 拍照

    我正在尝试创建一个可以拍照但不显示预览的应用程序 使用本教程 https www youtube com watch v oPu42I0HSi4 https www youtube com watch v oPu42I0HSi4如果我使用和
  • Oreo (8.1) 无法在锁定屏幕上启动活动

    我正在开发 NFC 支付应用程序 即使设备锁定 屏幕打开时也可以付款 与 Android Pay 的行为基本相同 付款后 我想向用户显示胜利屏幕 通知他付款结果 完成 错误 PIN 请求等 我将其添加到清单中
  • 如何使用 Twilio SIP 端点设置语音邮件

    我正在尝试在 twiml 中设置一个简单的语音邮件系统this https stackoverflow com questions 34145791 diverting twilio call to voicemail if unanswe
  • 在 Android 8 (Oreo) 的 Webview 中获取 Resources$NotFoundException

    我正在我的应用程序的 WebView 中加载网站的 URL 该网站获取用户的基本详细信息 我正在活动中加载 WebView 但是 当 Android 8 用户点击网站的下拉菜单时 应用程序会抛出以下错误 请注意 此 WebView 在 An
  • Android O - 通知通道和NotificationCompat

    我无法改变这种感觉 Android 开发人员再次提出了一些新东西 却让每个人都对他们如何看待该功能的使用一无所知 我说的是 Android O 中的通知通道 多年来 我一直使用兼容性支持库来避免处理特定平台的细节 即 Notificatio
  • Android 中何时使用服务、何时不使用服务

    我从事Android开发已经不到两年了 我仍然对这个看似简单的问题感到困惑 何时应该实施一项服务 根据我的经验 有一些罕见的情况 但我对此表示怀疑 因为每部手机上都运行着很多这样的情况 我怀疑这只是一个糟糕的应用程序设计 这本质上是我的问题

随机推荐

  • 如何使用 d3 生成 svg 客户端而不将其附加到 DOM(与 React.js 一起使用)

    我正在使用 React js 构建一个应用程序 其中包含相当多的 svg 图表 我使用 d3 函数来帮助创建图表 例如比例尺 然后使用 React 生成 svg 元素 这是关于该方法的精彩文章 http 10consulting com 2
  • 如何将变量传递给 re.sub 回调?

    我正在使用 re sub 回调将子字符串替换为随机值 但我希望不同字符串中的随机值相同 由于 re sub 回调不允许参数 我不知道如何做到这一点 这是我正在做的事情的简化版本 def evaluate match mappings A 1
  • 条件语句如何与按位运算符一起使用?

    我试图理解 if 条件如何与按位运算符一起使用 检查数字是偶数还是奇数的方法可以通过以下方式完成 include
  • JavaScript 伪协议实际上是做什么的? [复制]

    这个问题在这里已经有答案了 换句话说 两者之间有什么区别 onclick myFunction and onclick JavaScript myFunction The JavaScript 事件处理程序中的 TYPE LABEL PRE
  • 避免目录中一次发生太多更改的错误

    如何避免C 中FileSystemWatcher的错误 目录中一次更改太多 我必须检测网络共享上的所有更改 InternalBufferSize 增加到 8192 128 您应该做两件事 Set InternalBufferSize到支持的
  • Python 使用 curve_fit 拟合对数函数

    我正在尝试使用拟合对数曲线curve fit 假设如下Y a ln X b 但拟合的数据看起来仍然不正确 现在我正在使用以下代码 from scipy optimize import curve fit X 3 0 3 1 3 2 3 3
  • Python(pandas):使用多索引将数据帧存储在hdf5中

    我需要使用具有多索引的大尺寸数据框 因此我尝试创建一个数据框来学习如何将其存储在 hdf5 文件中 数据框是这样的 前2列有多重索引 Symbol Date 0 C 2014 07 21 4792 B 2014 07 21 4492 A 2
  • 由 PKCS#7 加密消息保护的 API

    我当前正在尝试调用一个 API 该 API 要求我将 XML 数据放入 PKCS 7 格式 该数据被发布到 API 端点 响应还采用 PKCS 7 加密消息的形式 MIME 类型为 application pkcs7 mime 他们提供的一
  • 列出目录中的图像(01.png)和描述(01.txt)

    如何显示目录中的图像并获取每个图像的相应描述 假设描述存在 在目录中 01 png 01 txt 02 png 03 png 03 txt etc 显示为 img src 01 png br This is the description
  • 如何在 android 中创建自定义开关,并在开关轨道两侧和拇指上显示文本?

    如何在 android 中设计自定义开关 如下图所示 当它打开时 它需要看起来像这样 我还需要在两个类别之间切换时显示切换动画效果 我怎样才能实现它 是否有可用的第三方 SDK 或库 目前我已经用自定义线性布局设计它 如下所示 my lay
  • 列表理解与元组分配

    我想问一下python中是否可以实现这样的事情 a b i i 1 for i in range 5 我知道这是不可能的 因为我有一个错误 但我认为你明白我想要实现的目标 让我澄清一下 我可以这样做 a b 3 2 3 编辑 gt 或者甚至
  • Python 大列表排序与存储

    我目前正在处理一些非常大的信息列表 50 到 1 亿个条目 其中列表中的每个项目都采用 float string 1 string 2 的形式 我以未排序的方式将元素添加到列表中 并且最终希望有一个按浮点值排序的列表 例如 我会有一个如下所
  • Azure DevOps 构建子模块

    我有一个连接到 Azure DevOps 构建管道的私有 bitbucket 存储库 私有存储库有一个连接到公共 Github 存储库的子模块 这两个存储库均通过 SSH 访问 我在 DevOps 中勾选了克隆子模块框 如何向 Azure
  • Jquery - 确保事件处理程序在处理程序链中最后执行

    有没有办法确保您附加的事件处理程序是要执行的事件处理程序链中的最后一个 我有一个通过 ajax 提交表单的事件处理程序 但稍后 在附加我的 ajax 提交处理程序后 另一个处理程序将附加到表单以执行验证逻辑 验证逻辑应该发生在 ajax 提
  • 从异步方法返回 IAsyncEnumerable

    采取以下方法 public async IAsyncEnumerable
  • '[' 标记之前应有非限定 ID

    我知道这个错误通常是语法错误 但我似乎找不到这段代码有什么问题 谁能帮我指出来吗 以下是我收到的错误 deli cc 10 7 错误 标记之前预期有不合格的 id int myCashierNums deli cc 11 7 错误 标记之前
  • Django admin list_display 使用外键时异常缓慢

    姜戈 1 2 5 蟒蛇 2 5 5 我的运动模型管理列表速度非常慢 400 条记录需要 5 分钟 它在一秒钟左右就恢复了 直到我们得到 400 场比赛 50 支球队和 2 项运动 我已经以一种糟糕的方式修复了它 所以我想看看是否有人以前见过
  • 如何在不使用 .Compile() 的情况下从 MemberExpression 获取属性值?

    我在尝试不使用 Compile 从表达式树中获取对象的值时遇到问题 该对象非常简单 var userModel new UserModel Email email protected cdn cgi l email protection 给
  • 从 .net dll 返回结构体 (C#)

    我有一个 net DLL C 它通过 TCP 从传感器接收实时 大量 数据 数据以自定义对象数组的形式出现 称之为 SensorPacket 它有大约 20 个字段 主要是浮点型和整数型 我已经通过事件将其发送到 matlab 工作正常 但
  • Whatsapp 或 telegram 等应用程序如何监听 Android 上的来电/消息事件?

    我构建了一个 VoIP 呼叫应用程序 它与服务器保持持久连接以监听任何来电 我实现了一个后台服务来做到这一点 但自从 Oreo 以来 由于引入了后台执行限制 https developer android com about version