我尝试使用GSM代码通过Android应用程序转移我的电话。 例如,如果我打电话:** 21 * otherNumber# 我的所有电话都会被转移到其他号码上。
我的代码:
Uri transfert = Uri.parse( "tel:**21*" + numero + "#");
Intent intent = new Intent( Intent.ACTION_CALL, transfert );
startActivity(intent);
但是,Uri.parse()有定义: “URI引用包括URI和片段,URI后面的组件是'#'”
所以,它删除了#但我需要它。没有它,GSM代码就无法运行。
有人会有想法吗?
答案 0 :(得分:2)
我认为你不能用扩展名拨打电话号码,这是一个已知问题(see this)。
根据this thread,您可以尝试添加%23
,如Uri.parse( "tel:**21*" + numero + "%23");
答案 1 :(得分:0)
您需要发送URI编码的哈希来通过URI解析它。
public static final String encodedHash = Uri.encode("#");
它将保留URI编码的哈希并通过GSM发送USSD消息,如您所指定的那样。