在我的应用程序中有一个调用功能。点击“呼叫”按钮,应用程序将启动带有电话号码的电话拨号器。
现在,如果任何设备/平板电脑没有调用功能,那么我想检查一下
if(isSupportCalling)
//launch dialer
else
//show message
为了避免任何应用程序崩溃。
由于此权限只允许Android播放使其可见,并且能够在设备/平板电脑上下载/安装不支持呼叫功能的应用。
<uses-feature
android:name="android.hardware.telephony"
android:required="false"/>
因为我在SO上看到的线程非常少,但没有找到可靠的方法。
答案 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()){}
希望有所帮助