6

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

现在,如果任何设备/平板电脑没有通话功能,在这种情况下,我想检查一下

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

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

由于此权限仅允许 android play 使其可见并能够在不支持呼叫功能的设备/平板电脑上下载/安装应用程序。

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

正如我在 SO 上看到的与此相关的线程很少,但没有找到可靠的方法。

4

2 回答 2

10

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

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

希望这可以帮助

于 2012-06-14T07:57:03.920 回答
3

而已:

您应该执行以下操作:

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

并随时调用该函数:

  if (canMakeCalls()){}

希望有帮助

于 2014-07-11T08:06:41.790 回答