我创建了一个简单的拨号程序来快速帮助我调用移动服务提供商的服务,例如检查空气余额、从提供商处获取互联网设置
//example
phoneNum[1] = "*144#";
当我点击查询余额的按钮时,它显示正在拨号
Dialing *144
*144 并注意散列不存在,但如果散列可用,它应该作为 ussd 代码运行并返回余额而不是调用。如何将散列添加到数组?
最佳答案
你应该用 %23 转义 # 符号
//示例
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);
}
看看这会给你带来什么。
关于Android:简单的 USSD 拨号器应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399033/