android编程调用转发

时间:2011-12-09 15:14:17

标签: android phone-call

我想将收到的任何来电转发到其他预定义的电话号码。我搜索了论坛,发现了一些矛盾的答案。所以我很困惑。

首先我查看了这篇帖子https://stackoverflow.com/a/5735711,这表明通过android是不可能的。 但另一篇文章有​​一些解决方案。 https://stackoverflow.com/a/8132536/1089856

我在第二篇文章中尝试了此代码,但是我收到以下错误消息:“呼叫转移连接问题或无效的MMI代码”。

String callForwardString = "**21*5556#";   
Intent intentCallForward = new Intent(Intent.ACTION_CALL);
Uri uri2 = Uri.fromParts("tel", callForwardString, "#");
intentCallForward.setData(uri2);                                
startActivity(intentCallForward);

其中5556是我要转发呼叫的模拟器(用于测试)的数量。

2 个答案:

答案 0 :(得分:15)

我认为你需要在设备上比模拟器更好地尝试它。 您正在使用DTMF代码,因此我认为您需要网络(在实际设备上)而不是模拟器。

在您的模拟器上拨打相同的代码“** 21 * 5556#”并检查。它也不起作用!将5556替换为您要转接的电话号码,然后在手机上试用。

意思是,DTMF代码仅适用于没有SIM支持的仿真器或平板电脑上的手机。

修改 您可以找到不同的呼叫转接代码here

答案 1 :(得分:0)

Uri uri2 = Uri.fromParts(“ tel”,callForwardString,“#”); 中删除“#” 如果不起作用,则尝试 * 21 * number#