Android 打电话时是否向被叫方发送额外数字?

Android 打电话时是否向被叫方发送额外数字?,android,telephony,telephonymanager,Android,Telephony,Telephonymanager,我想在打电话时将数据(以单个额外数字的形式)传输到被叫方。两个用户自然都需要安装我的应用程序 例如:人A打电话给人B,我的应用程序取消呼出呼叫,在被叫号码后附加一个“*1”(例如),然后重新发起呼叫。个人B手机上的我的应用程序监听来电并从被叫号码中提取额外的数字 这样的事情可能吗?请注意,我不能使用public void onCallStateChanged(int state,String incomingNumber){}进行此操作,因为incomingNumber是呼叫者(Person A

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

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

这样的事情可能吗?请注意,我不能使用
public void onCallStateChanged(int state,String incomingNumber){}
进行此操作,因为
incomingNumber
是呼叫者(
Person A
)的号码,而不是被叫号码。我需要能够在接听电话之前提取额外的数字,因此我不能使用
p
w
DTMF拨号码

我有“截获和重拨”部分在呼叫方一侧,还有应用程序的“接听来电”部分在工作,我只是不知道如何A)传输数字,使其到达被叫方的电话(而不是被运营商丢弃)和B)在接收方的电话上获得被叫号码


谢谢

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

我不知道为什么您需要传输这些符号“*1”,但由于这是硬编码的,所以也可以轻松地将其硬编码到您的应用程序中。我认为您可以使用电话号码来识别呼叫方,但如果您需要以这种方式动态传输信息,则不可能


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

Hi g00dy,感谢您的回复!我已经尝试使用web脚本将数字传输给被叫方,但这需要花费太长时间(呼叫本身比设备服务器设备通信“更快”)。我认为运营商不在乎额外的数字(如果你拨打的是固定电话,你可以添加“w234”这样的代码来使用公司交换机呼叫分机),并且在号码上添加几个零(例如)不会影响呼叫(但它们可能会被运营商过滤,我不知道)。