Android如何检查设备/平板电脑支持呼叫功能

时间:2012-06-14 07:33:19

标签: android

在我的应用程序中有一个调用功能。点击“呼叫”按钮,应用程序将启动带有电话号码的电话拨号器。

现在,如果任何设备/平板电脑没有调用功能,那么我想检查一下

if(isSupportCalling) 
      //launch dialer
else 
     //show message

为了避免任何应用程序崩溃。

由于此权限只允许Android播放使其可见,并且能够在设备/平板电脑上下载/安装不支持呼叫功能的应用。

<uses-feature 
        android:name="android.hardware.telephony" 
        android:required="false"/>

因为我在SO上看到的线程非常少,但没有找到可靠的方法。

2 个答案:

答案 0 :(得分:10)

通过使用TelephonyManager类,您可以了解电话网络的可用性,还可以检查电话网络的不同相关状态。

TelephonyManager tm= (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
       if(tm.getPhoneType()==TelephonyManager.PHONE_TYPE_NONE){
        //No calling functionality
       }
       else
       {
       //calling functionality
       }

希望这有助于

答案 1 :(得分:3)

就是这样:

您应该执行以下操作:

 private boolean canMakeCalls(){
    return ((TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number()
    != null;
}

只需随时调用该函数:

  if (canMakeCalls()){}

希望有所帮助