React Native 触发器用户 phone 在应用程序中调用传入操作

React Native trigger user phone call incoming on action in app

我有一个问题,我已经用一种可能很老套的方式解决了,也许有更好的方法来处理它。我在 React Native 中有一个应用程序,请记住我现在正在使用 Expo。您输入一个 phone 号码和一条消息,并使用 aws lambda 函数并精确定位,它将通过该消息向该号码发送一个机器人呼叫。这现在只是一个演示,它并不意味着在生产中这样工作,也不是邪恶的。该应用程序的想法基于此工作。所以它确实有效,但我想知道是否有一种方法可以让 React Native 只用一个假号码触发 phone 铃声。或者甚至在不使用 lambda 的情况下向它传递消息。如果我无法触发本机铃声,有没有办法建立一个自定义铃声界面,即使在屏幕锁定或应用程序关闭时也可以显示。所以在调用发起后延迟。

建议的最佳方法是什么。有没有办法连接到 microphone 和带有 React Native 的扬声器,通过录音并有一个接口来这样做。

所以三个选项是

A) 坚持使用 lambda,让它成为一个真正的 phone 调用,无论应用程序是打开的还是 phone 被锁定,它都能正常工作。

B) 让应用在计时器上触发 phone 的通知,弹出全屏 ui,看起来像一个 phone 电话,您可以在此处接听一条消息,应用程序是否已关闭或 phone 已锁定

C) 让应用程序触发真实的 phone 计时器上的来电铃声,其中包含一条消息。

感谢阅读本文,让我知道什么是可能的,然后我将深入尝试实现它。

我相信您正在寻找的功能(在 iOS 中)是 CallKit(https://developer.apple.com/documentation/callkit?language=objc), and ConnectionService in Android. This is used in apps like Whatsapp, Messenger, ... .This feature is not ready-made bundled inside expo so you have to use bare workflow with native code integration (one nice library is this https://github.com/react-native-webrtc/react-native-callkeep)。

如果你还想留在世博会,那我觉得方案A是最可行的方案。

对于选项 B,我想象的是向应用程序发送通知,然后用户打开它,应用程序通过调用 UI 打开(这也可以)

选项 C 基本上不可能通过 "real" phone 调用。