gpt4 book ai didi

android - 如何检查 SIM 卡在安卓设备中是否可用?

转载 作者:IT王子 更新时间:2023-10-28 23:45:34 27 4
gpt4 key购买 nike

我需要帮助以编程方式检查设备是否有 SIM 卡。请提供示例代码。

最佳答案

使用 TelephonyManager。

http://developer.android.com/reference/android/telephony/TelephonyManager.html

正如 Falmarri 所说,您首先要使用 getPhoneType,看看您是否正在处理 GSM 电话。如果是,那么您还可以获得 SIM 状态。

TelephonyManager telMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
int simState = telMgr.getSimState();
switch (simState) {
case TelephonyManager.SIM_STATE_ABSENT:
// do something
break;
case TelephonyManager.SIM_STATE_NETWORK_LOCKED:
// do something
break;
case TelephonyManager.SIM_STATE_PIN_REQUIRED:
// do something
break;
case TelephonyManager.SIM_STATE_PUK_REQUIRED:
// do something
break;
case TelephonyManager.SIM_STATE_READY:
// do something
break;
case TelephonyManager.SIM_STATE_UNKNOWN:
// do something
break;
}

编辑:

从 API 26 (Android O Preview) 开始,您可以使用 getSimState(int slotIndex) 查询 SimState 的单个 sim 插槽,即:

int simStateMain = telMgr.getSimState(0);
int simStateSecond = telMgr.getSimState(1);

official documentation

如果您使用较旧的 api 进行开发,则可以使用 TelephonyManager 的

String getDeviceId (int slotIndex)
//returns null if device ID is not available. ie. query slotIndex 1 in a single sim device

int devIdSecond = telMgr.getDeviceId(1);

//if(devIdSecond == null)
// no second sim slot available

在 API 23 中添加 - 文档 here

关于android - 如何检查 SIM 卡在安卓设备中是否可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3981007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com