3

有没有办法从我的应用程序中检查平板电脑是否有 SIM 卡插槽?

我的要求是确定平板电脑是仅 Wifi 还是 Wifi + Cellular 单元。我为此检查了 Stack Overflow 上提供的早期链接,但它们似乎都不适用于我的设备。Wifi only 单元TYPE_MOBILE在网络信息下返回一个。Wifi 和蜂窝单元都返回 a PHONE_TYPE_NONESIM_STATE_UNKNOWN因此即使这些检查也不适用。

在这两种情况下,返回的 IMEI 也是 null。如果 sim 卡插槽内插入了有效的 sim 卡,那么我可以验证该单元是否是蜂窝单元,但如果蜂窝单元没有插入 sim 卡,或者 sim 卡插槽是坏的,那么我无法区分蜂窝和 wifi + 蜂窝单元

4

2 回答 2

3

试试这个代码:

TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);  //gets the current TelephonyManager
if (tm.getSimState() != TelephonyManager.SIM_STATE_ABSENT){
  //the device has a sim card
} else {
  //no sim card available
}

资源

于 2013-08-08T15:27:12.873 回答
0

您可以查看设备支持的网络接口。然后您可以使用ConnectivityManager检查您的设备是否支持移动数据连接。

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm != null) {
    if (cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) != null) {
        // the device can use mobile networks
    }
}
于 2013-10-25T15:43:48.467 回答