2013-02-08 76 views
0

我想在拨打电话时向被叫方转发数据(以一位额外的数字形式)。这两个用户自然需要安装我的应用程序。拨打电话时向被叫方发送多余的数字?

例如:Person A进行调用以Person B,我的应用程序取消呼出,追加一个“*1”(例如)到被叫号码,并重新发起呼叫。我在Person B的手机上收听来电,并从被叫号码中提取多余的数字。

是这样的可能吗?请注意,我不能使用public void onCallStateChanged(int state, String incomingNumber) {},因为incomingNumber来电者的Person A的)号码,而不是的号码是。在拨打电话之前我需要能够提取额外的数字,所以我不能使用pw DTMF拨号代码。

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

谢谢!

回答

0

我想,但我不确定,你不能只传输这样的数据。原因是电信公司用这些号码(代码)引导呼叫。发送一个额外的号码(或一个额外的单个数字)意味着错误的(或不正确的)号码,并可能会取消该呼叫。你想做的事情似乎是一种操纵网络的方式,但我认为这是不可能的。运营商的数据中心可能至少有某种类型的检查。

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

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

+0

嗨g00dy,谢谢你的回复!我已经尝试使用网络脚本与被叫方进行数字通信,但这需要很长时间(通话本身比设备 - 服务器 - 设备通信“更快”)。我认为运营商不关心额外的数字(如果你打电话给固定电话,你可以添加诸如“w234”之类的代码来使用公司总机呼叫分机),并且向一个号码添加几个零(例如)不影响通话(但它​​们可能会被运营商过滤,我不知道)。 – Nick 2013-02-08 16:51:41