6

我创建了一个简单的拨号器来快速帮助我拨打移动提供商服务,例如检查空气余额、从提供商处获取互联网设置

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

当我单击一个检查余额的按钮时,它显示正在拨号

 Dialing *144

*144 并注意哈希不存在,但如果哈希可用,它应该作为 ussd 代码运行并返回余额而不是调用。如何将哈希添加到数组中?

4

1 回答 1

10

您应该使用 %23 转义 # 符号

//example phoneNum[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);
}

看看这会给你带来什么。

于 2013-01-18T12:53:11.960 回答