我想将收到的任何来电转发到其他预定义的电话号码。我搜索了论坛,发现了一些矛盾的答案。所以我很困惑。
首先我查看了这篇帖子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是我要转发呼叫的模拟器(用于测试)的数量。
答案 0 :(得分:15)
我认为你需要在设备上比模拟器更好地尝试它。 您正在使用DTMF代码,因此我认为您需要网络(在实际设备上)而不是模拟器。
在您的模拟器上拨打相同的代码“** 21 * 5556#”并检查。它也不起作用!将5556替换为您要转接的电话号码,然后在手机上试用。
意思是,DTMF代码仅适用于没有SIM支持的仿真器或平板电脑上的手机。
修改强> 您可以找到不同的呼叫转接代码here。
答案 1 :(得分:0)
从 Uri uri2 = Uri.fromParts(“ tel”,callForwardString,“#”); 中删除“#” 如果不起作用,则尝试 * 21 * number#