手机数码

android – 如何确定特定设备是否支持SIM硬件?

微信扫一扫,分享到朋友圈

android – 如何确定特定设备是否支持SIM硬件?
0

我想根据SIM硬件是否存在禁用我的应用程序中与CALL和SMS相关的功能.现在初学者的方法是使用以下方法检查手机类型:

if (telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE)

如果为真则支持.

一切都很好,直到我遇到Sony Tablet S,它只支持数据和消息的SIM卡.没有语音支持.因此,对于此设备,我需要仅禁用CALL功能,但继续使用SMS支持.

索尼平板电脑返回TelephonyManager.PHONE_TYPE_NONE所以我不能使用上述方法.

还有,

telephonyManager1.getSimState();

返回1即SIM_STATE_ABSENT,在HTC FLYER的情况下也是如此,它不支持SIM硬件本身.

那么有什么方法可以让我知道SIM硬件是否存在(无论是否插入SIM卡)?

使用

PackageManager pm = this.getPackageManager();
boolean hasTelephony=pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);

编辑:

尝试使用

TelephonyManager.getLine1Number()

如果这返回null,那么你将没有电话功能.没试过.试一试

翻译自:https://stackoverflow.com/questions/12001863/how-to-find-out-whether-a-particular-device-has-sim-hardware-support

阅读原文...


代码日志

英伟达在西雅图设机器人实验室 聘请华盛顿大学教授

上一篇

徐和谊:全面新能源化与智能网联化融合发展的时代正在加速到来

下一篇

您也可能喜欢

评论已经被关闭。

插入图片
android – 如何确定特定设备是否支持SIM硬件?

长按储存图像,分享给朋友