java – Android studio动作调用以运行USSD代码
作者:互联网
通过使用我想运行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);
}
});
解决方法:
试试这个代码.使用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);
标签:java,android,android-permissions,ussd 来源: https://codeday.me/bug/20190622/1264969.html