我希望能够根据SIM卡硬件的存在与否,在我的应用程序中禁用与CALL和SMS相关的功能。现在,初学者对此的处理方法是使用以下方式检查手机类型:
if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE)
如果为真,则支持此功能。
一切都很好,直到我遇到仅支持数据和短信的Sony Tablet S。没有语音支持。因此,对于此设备,我需要仅禁用呼叫功能,但继续使用短信支持。 Sony平板返回TelephonyManager.PHONE_TYPE_NONE,因此我无法使用上述方法。 而且,
telephonyManager1.getSimState();
返回1,即SIM_STATE_ABSENT,在HTC FLYER上也是一样的,因为它本身不支持SIM硬件。
那么有没有办法知道SIM硬件是否存在(无论是否插入SIM卡)?