如何检查设备是否支持 SMS?
How can I check if a device supports SMS?
我想在没有 SIM 卡插槽的平板电脑上以编程方式禁用短信功能。
我试过这个:
if (context.getSystemService(Context.TELEPHONY_SERVICE) != null)
{
// SMS features: enable
}
else
{
// SMS features: disable
}
但是在我的 NVidia Shield Tablet K1(没有 sim 卡插槽)context.getSystemService(Context.TELEPHONY_SERVICE)
returns 上,看起来我有电话服务。
我的代码有什么问题?
在这种情况下,我不认为 getSystemService()
检索 TelephonyManager
必然会 return null
。
检查电话的官方方法是在 PackageManager
上调用 hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
,您可以通过调用 getPackageManager()
.
获得
我已经清理了我的 NVIDIA Shield K1,我在该设备上从 hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
获得了 false
。
我想在没有 SIM 卡插槽的平板电脑上以编程方式禁用短信功能。
我试过这个:
if (context.getSystemService(Context.TELEPHONY_SERVICE) != null)
{
// SMS features: enable
}
else
{
// SMS features: disable
}
但是在我的 NVidia Shield Tablet K1(没有 sim 卡插槽)context.getSystemService(Context.TELEPHONY_SERVICE)
returns 上,看起来我有电话服务。
我的代码有什么问题?
在这种情况下,我不认为 getSystemService()
检索 TelephonyManager
必然会 return null
。
检查电话的官方方法是在 PackageManager
上调用 hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
,您可以通过调用 getPackageManager()
.
我已经清理了我的 NVIDIA Shield K1,我在该设备上从 hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
获得了 false
。