搜索分类、插件与代码仓

mobile_number 封面
插件详情v3.0.0

mobile_number

一个用于获取设备移动号码或SIM卡数据列表的Flutter插件

Android
近 30 天下载
4300
喜欢数
112
Pub 分数
140

安装插件

flutter pub add mobile_number

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

mobile_number 包是一个 Flutter 插件,可在 Android 设备上访问设备的手机号码或 SIM 卡信息。它提供了一个简单的 API,用于获取与设备关联的电话号码或已安装 SIM 卡的详细信息。该插件专为 Android 设计,利用原生 Android API 安全地提取这些数据。由于平台限制,该插件不支持 iOS。开发者可以将其集成到需要用户手机号码识别或 SIM 相关功能的应用程序中。

适合场景

  • 获取设备的主电话号码
  • 正在检索SIM卡信息
  • 通过手机号码进行用户身份验证
  • 移动应用中的设备识别
  • SIM卡状态监控

主要特点

  • 仅限 Android 支持
  • 用于电话号码检索的简单 API
  • 访问SIM卡数据
  • 安全的原生集成
  • 轻量且易于实现

适合对象

  • 面向Android的移动应用
  • 基于电话号码的认证
  • SIM卡信息工具
  • 设备特定的应用程序功能
  • 需要基本电话数据的应用

使用建议

  • iOS 上不可用
  • 需要运行时权限
  • 仅限 Android 设备
  • 敏感隐私数据访问
  • 可能不适用于所有安卓机型

原始 README

以下为关联源码仓库的 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

所属分类

源码仓库

使用此插件的项目

暂无相关数据。