确定Android平板电脑是否有sim卡插槽
有没有办法在我的应用程序中检查平板电脑是否有sim卡插槽 我的要求是确定平板电脑是仅Wifi还是Wifi+蜂窝单元。 为此,我检查了Stack Overflow上提供的早期链接,它们似乎都不适用于我的设备。仅Wifi单元在网络信息下返回一个确定Android平板电脑是否有sim卡插槽,android,sim-card,Android,Sim Card,有没有办法在我的应用程序中检查平板电脑是否有sim卡插槽 我的要求是确定平板电脑是仅Wifi还是Wifi+蜂窝单元。 为此,我检查了Stack Overflow上提供的早期链接,它们似乎都不适用于我的设备。仅Wifi单元在网络信息下返回一个TYPE_MOBILE。Wifi和蜂窝单元都返回电话类型\u无和SIM卡状态\u未知,因此即使这些检查也不适用 在这两种情况下,返回的IMEI也是空的。如果sim卡插槽中插入了有效的sim卡,则我可以验证该单元是否为蜂窝单元,但如果蜂窝单元未插入sim卡,或者
TYPE_MOBILE
。Wifi和蜂窝单元都返回电话类型\u无
和SIM卡状态\u未知
,因此即使这些检查也不适用
在这两种情况下,返回的IMEI也是空的。如果sim卡插槽中插入了有效的sim卡,则我可以验证该单元是否为蜂窝单元,但如果蜂窝单元未插入sim卡,或者sim卡插槽损坏,则我无法区分蜂窝单元和wifi+蜂窝单元请尝试以下代码:
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
}
您可以检查设备支持的网络接口。然后,您可以使用检查设备是否支持移动数据连接
ConnectivityManager cm=(ConnectivityManager)context.getSystemService(context.CONNECTIVITY_服务);
如果(cm!=null){
if(cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)!=null){
//该设备可以使用移动网络
}
}
如果我的设备有sim卡,则此功能有效。如果sim卡插槽坏了,并且没有检测到sim卡,那么使用情况如何。这个检查仍然有效吗?这不检查插槽,它只检查是否插入SIM卡。好的,如果有一个坏的SIM插槽,那么它不会认为这是一个蜂窝单元正确吗?实际上,这对WiFi只有我的平板电脑是行不通的。它进入第一个检查,显示此设备具有不应发生的sim卡