我创建了一个简单的拨号程序,以快速帮助我拨打移动提供商的服务,例如检查空气平衡,从提供商那里获取互联网设置

//example
phoneNum[1] = "*144#";

当我单击按钮以检查余额时,它说正在拨号
 Dialing *144

* 144,请注意哈希值不存在,但如果哈希值可用,则应将其用作ussd代码,并返回余额而不是调用。如何将哈希添加到数组?

最佳答案

您应该使用%23转义#符号
//examplephoneNum[1] = "*144";

String encodedHash = Uri.encode("#");
startActivity(new Intent("android.intent.action.DIAL",
              Uri.parse("tel:"+ phoneNum[1]+ encodedHash)));

至于捕捉响应,您应该尝试
startActivityForResult(new Intent("android.intent.action.CALL",
                   Uri.parse("tel:"+ phoneNum[1]+ encodedHash)), 1);
@Override
protected void onActivityResult(int requestCode, int resultCode,Intent data) {
    view.setText("USSD: " + requestCode + " " + resultCode + " " + data);
}

看看会带来什么返回。

10-07 19:17
查看更多