我想根据 SIM 硬件是否存在,在我的应用程序中禁用与 CALL 和 SMS 相关的功能。现在初学者的方法是使用以下方法检查电话类型:
if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE)
如果为真,则支持。
一切都很好,直到我遇到了仅支持数据和消息传递的 SIM 卡的 Sony Tablet S。没有语音支持。所以对于这个设备,我只需要禁用 CALL 功能,但继续支持 SMS。索尼平板电脑返回 TelephonyManager.PHONE_TYPE_NONE 所以我不能使用上述方法。还 ,
telephonyManager1.getSimState();
返回 1 即 SIM_STATE_ABSENT,对于不支持 SIM 硬件本身的 HTC FLYER,这也是相同的。
那么有什么方法可以让我知道是否有 SIM 硬件(不管是否插入了 SIM 卡)?