【问题标题】:Intent.ACTION_DIAL with number ending with #Intent.ACTION_DIAL 编号以 # 结尾
【发布时间】:2015-04-17 23:13:51
【问题描述】:

所以我试图通过Intent.ACTION_DIAL 发送一个以# 结尾的号码,例如*123#。但是当Android Dialer 应用程序启动时,只有*123(缺少#)。 我正在使用以下代码来触发Android的拨号应用程序。

Uri number = Uri.parse("tel:*124#");
Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
context.startActivity(callIntent);

期待感谢!! .

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    您需要正确编码井号标签 (#)。在你的 URL 请求中,它应该是 %23,所以用 %23 替换它就可以了。

    Uri number = Uri.parse("tel:*124%23");
    Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
    context.startActivity(callIntent);
    

    你也可以让URI做编码:

    String encodedPhoneNumber = String.format("tel:%s", Uri.encode("*1234#"));
    Uri number = Uri.parse(encodedPhoneNumber);
    Intent callIntent = new Intent(Intent.ACTION_DIAL, number);
    context.startActivity(callIntent);
    

    【讨论】:

    • 感谢您的回答。接受@anj0 的回答,因为它更现实。
    【解决方案2】:

    答案可能与此链接有关 initiate a phone call on android with special character #
    这条线可能是关键 Uri.parse("tel:"+Uri.encode("*124#"));

    【讨论】:

      猜你喜欢
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 2021-03-30
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多