【问题标题】:How to add the + sign before a phone number flutter project如何在电话号码颤动项目之前添加+号
【发布时间】:2021-03-30 15:42:46
【问题描述】:

flutter项目不能在电话号码前加+号

onPressed: () async {
                                  if (await canLaunch(
                                      'tel://${widget.provider.itemDetail.data.user.userPhone}') {
                                    await launch(
                                        'tel://${widget.provider.itemDetail.data.user.userPhone}')
                                  } else {
                                    throw 'Could not Call Phone';
                                  }
                                },

没有错误,问题是真机不显示+号,没有+号无法拨打电话,在模拟器android studio中一切正常。真机三星A50

pubspec.yaml 
url_launcher: 5.5.2

import 'package:url_launcher/url_launcher.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

 build.gradle 

     android {
       compileSdkVersion 29

       minSdkVersion 21
            targetSdkVersion 29

【问题讨论】:

  • 您的问题到底是什么?您收到任何错误消息吗?如果是这样,请将其添加到您的问题中。还有其他不受欢迎的行为吗?请详细描述一下。请添加足够的详细信息,以便人们仅使用问题中的代码或详细信息即可重现您的问题。
  • 没有错误,问题是真机不显示+号且没有+号无法拨打电话,在模拟器android studio中一切正常

标签: flutter dart


【解决方案1】:

在这种情况下,您应该能够检查您的电话号码的第一个字符是否是“+”符号:

String phoneNumber = widget.provider.itemDetail.data.user.userPhone;

if(phoneNumber.substring(0,1) == '+'){
      // Call the number
    } else {
    phoneNumber = '+' + phoneNumber;
      // Then call the number
  }

此外,如果您想在 UI 中的电话号码前显示“+”号,您可以使用 mask_text_input_formatter 包。创建电话号码掩码(例如 +1 (xxx) xxx-xxxx)并将其添加为 inputFormatter。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 2015-09-29
    • 2021-12-31
    • 2013-06-03
    • 1970-01-01
    相关资源
    最近更新 更多