我想根据SIM硬件是否存在,在我的应用程序中禁用与CALL和SMS相关的功能。现在一个初学者的方法将通过以下方式检查手机类型:如何确定特定设备是否具有SIM硬件支持?
if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE)
如果为true,则支持。
一切都很好,直到我碰到索尼Tablet S的只有数据和消息SIM卡支持来到。没有语音支持。所以对于这个设备,我需要禁用只有呼叫功能,但继续支持短信。 索尼平板电脑返回TelephonyManager.PHONE_TYPE_NONE,因此我无法使用上述方法。 此外,
telephonyManager1.getSimState();
返回1即SIM_STATE_ABSENT这也是其具有用于SIM硬件本身不支持HTC FLYER的情况下相同。
那么,有没有办法在其中可以来我知道,如果SIM硬件是有(不论插入SIM卡或没有)?
所以你的最终目标是要知道是否支持通话?为什么你在乎SIM卡 – nandeesh 2012-08-17 08:03:22
通过WiFi不支持VOIP电话? – MSalters 2012-08-17 08:22:11
@nandeesh - 我的目标是要知道是否分别支持通话和短信。为了非常准确,我想知道是否有SIM卡插槽可用。 – binaryKarmic 2012-08-17 09:21:09