FLUTTER ECOSYSTEM

amorenew/Flutter-Mobile-Number-Plugin

获取手机号码的 Flutter 插件

Flutter-移动电话号码插件 项目封面
Stars
24
Forks
30
最近推送(UTC)
2024年12月29日
项目状态
未归档
Amr Abd El Wahab El Desouky GitHub avatar
GITHUB User

Amr Abd El Wahab El Desouky ↗

Mobile Developer Android, iOS, React Native, Reactjs

Boxit4meEgypt官方网站 ↗
语言JavaDartRubyObjective-CShell

技术话题

此仓库发布的插件

使用的依赖

依赖清单 2 项
  • flutter{"sdk":"flutter"}
  • flutter_test开发依赖{"sdk":"flutter"}

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

mobile_number

This is a FLutter Plugin to get the device mobile number.

Note: It works for Android only because getting mobile number of sim card is not supported in iOS.
Note: If the mobile number is not pre-exist on sim card it will not return te phone number.

Installation

Link on Flutter plugins

https://pub.dev/packages/mobile_number

Note:

if you still using depecated FlutterActivty on MainActivity.java which is import of

  • import io.flutter.app.FlutterActivity;

not

  • import io.flutter.embedding.android.FlutterActivity;

then you need to add the following to your MainActivity.java

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        MobileNumberPlugin.registerWith(registrarFor("com.amorenew.mobile_number.MobileNumberPlugin()"));
    }

Usage

Check Phone Permission

await MobileNumber.hasPhonePermission

Request Phone Permission

await MobileNumber.requestPhonePermission

Listen to widget resume after Phone Permission request
      if (isPermissionGranted) {
        //Get mobile number
      } else {
        //Request Phone Permission
      }
    });
Alternative Phone Permission

permission_handler has a better implementation of device general permissions.

A simple example would be:

var status = await Permission.phone.status;
if (!status.isGranted) {
  status = await Permission.phone.request();
}

if (!status.isGranted) {
  // return or throw some error
}

return await MobileNumber.mobileNumber;

Get first sim card number
    final String mobileNumber = await MobileNumber.mobileNumber;
    return mobileNumber;
  }
Get List of sim cards for dual sim cards
    final List<SimCard> simCards = await MobileNumber.getSimCards;
    return simCards;
  }

alt text