0

我的拨号器只显示“*16001”:

 private Button checksim;
    private String number = "*16001#";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_bangladeshsimverification);

        checksim = findViewById(R.id.b_b_check);
        checksim.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent opendialer = new Intent(Intent.ACTION_DIAL);
                opendialer.setData(Uri.parse("tel:" + number));
                if (opendialer.resolveActivity(getPackageManager()) != null) {
                    startActivity(opendialer);
                }
            }
        });

    }

我想#在这个字符串的末尾添加“”,但它不起作用。我怎样才能做到这一点?

4

1 回答 1

-1

对于您的情况,Uri.parse 方法无法处理像“#”这样的特殊字符。一种简单的解决方法是在使用 Uri.parse 之前使用正确的格式对字符串进行编码。

例如,尝试使用:

URLEncoder.encode(value, StandardCharsets.UTF_8.toString());
于 2022-01-06T08:32:13.563 回答