【问题标题】:when i am using call intent automatically remove # from number当我使用呼叫意图时自动从号码中删除#
【发布时间】:2018-09-05 20:04:30
【问题描述】:
String num= "*345*20#";
Intent callintent = new Intent(Intent.ACTION_DIAL);  
callintent.setData(Uri.parse("tel:"+num));   
startActivity(callintent);

在上面的代码中,当我使用带有“#”的数字时,“#”会自动从数字中删除。我该如何解决?

请帮助我。谢谢。

【问题讨论】:

标签: android android-intent


【解决方案1】:

试试下面的:

String num= "*345*20#";
Intent callintent = new Intent(Intent.ACTION_DIAL);  
callintent.setData(Uri.parse("tel:"+ Uri.encode(num)));   
startActivity(callintent);

【讨论】:

    【解决方案2】:

    当您的 URI 包含特殊字符(如 #)时,这是一个保留字符。为了在 URI 中使用这些字符,您必须像这样对 URI 内容进行编码:

    String num= "*345*20#";
    Intent callintent = new Intent(Intent.ACTION_DIAL);  
    callintent.setData(Uri.parse("tel:"+Uri.encode(num)));   
    startActivity(callintent);
    

    encode() 方法将对 URI 进行百分比编码。 请参阅此处了解更多信息:

    Percent Encoding

    W3Schools Url Encoding

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多