安卓11获取iccid
时间: 2024-09-13 15:07:15 浏览: 217
在安卓11(Android 11)系统中,获取SIM卡的ICCID可以通过使用TelephonyManager类来实现。ICCID是集成电路卡识别码(Integrated Circuit Card Identifier)的缩写,它是SIM卡的唯一识别码,通常用于标识SIM卡的身份。
要获取ICCID,你需要在应用程序中添加读取电话状态的权限,即`READ_PHONE_STATE`,在AndroidManifest.xml文件中添加如下权限声明:
```xml
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
```
然后,可以通过以下代码片段获取ICCID:
```java
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager != null) {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
String iccid = telephonyManager.getIccId();
// iccid即为获取到的SIM卡的ICCID
Log.d("SIMInfo", "ICCID: " + iccid);
} else {
// 权限未被授予
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_PHONE_STATE_PERMISSION);
}
} else {
// 无法获取TelephonyManager实例
}
```
请注意,从Android 6.0(API级别23)开始,用户需要在应用运行时授予敏感权限。因此,除了在AndroidManifest.xml中声明权限之外,还应该检查权限是否已经被授予,并在需要时请求权限。
阅读全文
相关推荐


















