Android studio Action 调用 运行 USSD 代码
Android studio Action call to run USSD codes
我想通过应用程序 运行 USSD 代码,但问题是它无法识别“#”符号。
如果我想 运行 "*100#" 它只将输入识别为 "*100"。如何添加“#”。不承认的原因是什么?
这是我的代码...
checkBalance.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_CALL);
i.setData(Uri.parse("tel:"+"*100#"));
if (ActivityCompat.checkSelfPermission(mobitelPage.this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
return;
}
startActivity(i);
}
});
试试这个 code.Use Uri.encode("#")
:
String encodedHash = Uri.encode("#");
i.setData(Uri.parse("tel:"+"*100"+encodedHash));
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
return;
}
startActivity(i);
您需要在 Uri.Parse()
中使用 Uri.encode("YOUR USSD CODE")
。
示例:
Uri.parse("tel:"+ Uri.encode("*100#"));
我想通过应用程序 运行 USSD 代码,但问题是它无法识别“#”符号。 如果我想 运行 "*100#" 它只将输入识别为 "*100"。如何添加“#”。不承认的原因是什么?
这是我的代码...
checkBalance.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_CALL);
i.setData(Uri.parse("tel:"+"*100#"));
if (ActivityCompat.checkSelfPermission(mobitelPage.this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
return;
}
startActivity(i);
}
});
试试这个 code.Use Uri.encode("#")
:
String encodedHash = Uri.encode("#");
i.setData(Uri.parse("tel:"+"*100"+encodedHash));
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
return;
}
startActivity(i);
您需要在 Uri.Parse()
中使用 Uri.encode("YOUR USSD CODE")
。
示例:
Uri.parse("tel:"+ Uri.encode("*100#"));