Android 无法将#作为输入传递到拨号程序应用程序中
我正在构建一个android拨号程序应用程序,但当我的输入包含*123形式的字符串时,拨打的号码是*123。 如何在拨号程序应用程序中也通过? 代码如下:Android 无法将#作为输入传递到拨号程序应用程序中,android,android-studio,development-environment,Android,Android Studio,Development Environment,我正在构建一个android拨号程序应用程序,但当我的输入包含*123形式的字符串时,拨打的号码是*123。 如何在拨号程序应用程序中也通过? 代码如下: public void onDial(View v) { if (input.getText().length() <3) { Toast.makeText(this, "Please Enter the Valid Number", Toast.LENGTH_SHORT).show(); } else
public void onDial(View v) {
if (input.getText().length() <3) {
Toast.makeText(this, "Please Enter the Valid Number", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(Intent.ACTION_CALL);
String hash = input.getText().toString();
if (hash.contains("#")) {
hash.replace("#", "%23");
}
intent.setData(Uri.parse("tel:" + hash));
if (ActivityCompat.checkSelfPermission(this,Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
startActivity(intent);
}else{
requestCallPermission();
}
}
}
public void onDial(视图五){
如果(input.getText().length()where close!编码可以工作,但是replace方法返回一个新字符串!:-)
参考文献:
您可以使用where close!编码,但replace方法返回一个新字符串!:-)
参考文献:
@Samin如果你发现这有帮助,请记住将其标记为已回答@Samin如果你发现这有帮助,请记住将其标记为已回答
if (hash.contains("#")) {
hash = hash.replace("#", "%23"); // Need to set the hash reference to the new string generated by replace()!
}
intent.setData(Uri.parse("tel:" + hash));