2013-03-22 63 views
1

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

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

任何帮助?

+0

*但这是行不通的。* *运行应用程序时得到的输出是什么? – 2013-03-22 06:22:38

+0

它从平板电脑 – Jayesh 2013-03-22 06:31:00

回答

1

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

+1

返回1(TelephonyManager.PHONE_TYPE_GSM)实际上,如果您的开发人员想要,那么应用程序可以安装在任何设备上。只需将电话功能设置为不需要,并在运行时处理它。 – hmartinezd 2014-04-11 18:47:50

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. 
} 
+0

我已经在平板电脑和我的Micromax A57手机上测试过您的代码,在任何情况下都返回null .... – Jayesh 2013-03-22 06:48:07