0

我想在拨打电话时向被叫方传输数据(以一个额外数字的形式)。两个用户自然都需要安装我的应用程序。

例如: Person A拨打电话Person B,我的应用程序取消拨出电话,*1在被叫号码上附加一个“”(例如)并重新发起呼叫。我Person B的手机上的应用程序会监听来电并从被叫号码中提取额外的数字。

这样的事情可能吗?请注意,我不能public void onCallStateChanged(int state, String incomingNumber) {}用于此,因为incomingNumber呼叫者的( Person A's) 号码,而不是被叫号码。我需要能够在接听电话之前提取多余的数字,所以我不能使用pwDTMF-dial-codes。

我在主叫方有“拦截和重拨”部分,应用程序的“监听来电”部分工作,我只是不知道如何 A)传输数字以便它到达被叫方的电话(而不是被运营商丢弃)并且B)在接收者的电话上获得被叫号码。

谢谢!

4

1 回答 1

0

我认为,但我不确定,你不能像这样传输数据。原因是运营商使用这些号码(代码)引导呼叫。发送一个额外的号码(或一个额外的数字)意味着错误(或不正确)的号码,并且可能会取消通话。在我看来,您想做的事情像是一种操纵网络的方式,但我认为这是不可能的。运营商的数据中心可能至少对此进行了某种检查。

我不知道你为什么需要传输那些符号“*1”,但由于这是硬编码的,它也可以很容易地硬编码到你的应用程序中。我觉得可以用电话号码来识别主叫方,但是如果需要这种方式动态传递信息,应该是不行的。

也许您应该尝试直接与安装了您的应用程序的其他设备进行通信。这是一个有趣的线程,尽管在那里,这种通信用于多人游戏,它为设备提供了一种通信方式。

于 2013-02-08T15:31:40.037 回答