我在解析 URI 中包含“#”的字符串时遇到问题,我想打开设备拨号并将该字符串“*344*12*#”解析给它。 下面的代码是我的实现,问题是我在拨号中得到的字符串没有“#”。
@Override
public void onBindViewHolder(@NonNull RecyclerAdapterDataView holder, int i) {
final String code = list.get(i).getActivation();
holder.activation.setText("Activation Code: "+code);
holder.activate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (code.contains("#")){
Intent i = new Intent();
i.setAction(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:"+code));
context.startActivity(i);
}
}
});
}
最佳答案
尝试下面的代码可能会有所帮助
if (code.contains("#")){
Intent i = new Intent();
i.setAction(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:"+Uri.encode(code))); //here add Uri.encode
context.startActivity(i);
}
关于java - 如何解析 URI 中包含哈希符号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58776991/