我已经阅读了一些相关的问题,但大多数都是针对来电,而不是短信。到目前为止我发现的是:
TelephonyManager manager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
if (manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
// I guess here are devices that are unable to send SMS
} else {
// can send SMS
}
这是真的,使用TelephonyManager.PHONE_TYPE_NONE的设备无法发送短信吗? 我真的不明白TelephonyManager.PHONE_TYPE_NONE的描述,这是“没有电话无线电。”
谢谢!
答案 0 :(得分:2)
是 TelephonyManager.PHONE_TYPE_NONE ,您无法发送短信。由于无线电网络需要发送短信。但是你可以使用一些基于IP的信使,比如什么应用程序,ebuddy就可以了
如果您看到 android.hardware.telephony (您在Android清单文件中使用 uses-feature 标记指定),您会注意到发送/读/写短信是在此功能下提到。
Galaxy TAB example,Can't make calls still phone type comes as PHONE_TYPE_CDMA ,因此在此类情况下需要额外检查行号,如上面的链接所示
答案 1 :(得分:2)
使用以下代码:
Boolean canSendSMS (Context context)
{
PackageManager pm = context.getPackageManager();
return (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY) || pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CDMA))
}