如何检查Android设备中是否启用电话呼叫服务?

时间:2013-03-22 06:16:09

标签: android phone-call telephonymanager

我想知道如何在不同的设备中检查该电话服务是否启用,我有Micromax Funbook(p300)平板电脑(Android 4.0.3),其中没有呼叫服务,我正在使用下面的代码检查

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);   
if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
    Log.v("TAG", "No calling service");
}else{
    Log.v("TAG", "calling service");
}

但这不起作用。 它总是只给出消息calling service

任何帮助?

2 个答案:

答案 0 :(得分:1)

如果平板电脑不支持通话服务,则Google Play不允许在该平板电脑上安装该应用。 Google Play会在内部检查您的设备支持的权限以及该应用所要求的权限,如果这些权限不匹配,则该应用会显示为与您的设备不兼容。 编辑: 因此,当然,您不需要检查该设备是否支持呼叫......

答案 1 :(得分:0)

试试这个,如果设备无法进行语音通话,那么它一定不是手机。

TelephonyManager tm = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String ableToMakePhoneCalls = tm.getVoiceMailNumber(); 

//check device for voicemail number (null means no voicemail number).
if(ableToMakePhoneCalls == null)
{ 
     //If the device does not have voicemail, then it must not be a phone. So it can't call. 
}