You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中获取移动设备SIM卡的ICCID?

在Flutter中获取SIM卡ICCID的方法

你可以通过以下几个Flutter包来获取SIM卡的ICCID编号,以下是具体实现步骤:

可用的包

目前有两个常用包支持获取ICCID:

  • sim_info:轻量包,专注于SIM卡基础信息获取
  • telephony:功能更全面,除了ICCID还能获取其他蜂窝网络相关信息

实现步骤

1. 添加依赖

在pubspec.yaml中添加对应包的依赖:

用sim_info的话:

dependencies:
  sim_info: ^0.2.0
  permission_handler: ^10.2.0 # 用于动态申请权限

用telephony的话:

dependencies:
  telephony: ^0.2.0
  permission_handler: ^10.2.0

2. 配置权限

不同平台需要配置对应的权限:

Android端

在android/app/src/main/AndroidManifest.xml中添加权限声明:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 部分国产设备可能额外需要READ_SMS权限 -->
<uses-permission android:name="android.permission.READ_SMS" />

Android 10及以上版本需要动态申请权限,代码中需先请求权限再获取ICCID。

iOS端

在ios/Runner/Info.plist中添加权限描述:

<key>NSCellularNetworkUsageDescription</key>
<string>需要访问蜂窝网络信息以获取SIM卡ICCID</string>

3. 代码示例

使用sim_info获取ICCID

import 'package:sim_info/sim_info.dart';
import 'package:permission_handler/permission_handler.dart';

Future<String?> fetchICCID() async {
  // 申请电话权限
  final permissionStatus = await Permission.phone.request();
  if (permissionStatus.isGranted) {
    try {
      final iccid = await SimInfo.getIccid;
      return iccid;
    } catch (e) {
      print('获取ICCID失败: $e');
      return null;
    }
  } else {
    print('权限被拒绝,无法获取ICCID');
    return null;
  }
}

使用telephony获取ICCID

import 'package:telephony/telephony.dart';
import 'package:permission_handler/permission_handler.dart';

final Telephony _telephony = Telephony.instance;

Future<String?> fetchICCID() async {
  final permissionStatus = await Permission.phone.request();
  if (permissionStatus.isGranted) {
    final simData = await _telephony.getSimData();
    return simData?.iccid;
  } else {
    print('权限被拒绝,无法获取ICCID');
    return null;
  }
}

注意事项

  • 双卡设备可能需要额外处理,部分包会返回主卡ICCID,需测试适配
  • 若设备无SIM卡或SIM卡未激活,会返回null或抛出异常,需做好异常捕获
  • iOS系统对隐私权限限制严格,需确保权限描述清晰,否则用户可能拒绝授权

内容的提问来源于stack exchange,提问作者Bhavesh Vaghasiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 21:22:45