Ily*_*okh 5 android sip android-7.0-nougat
我实现了简单的 SIP 客户端应用程序来接收呼叫。我浏览官方手册并从中获取代码。
我注意到
SipManager.newInstance(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)
返回空值。文档称,当设备不支持 SIP API 时,就会发生这种情况。不过,我使用运行 Android 7.0 的 LG G6,并成功测试了来自 Google Play 的第三方 SIP 客户端。所以我怀疑API是否真的不受支持。我怎样才能检查呢?
我的清单具有所有权限 (INTERNET和USE_SIP)
权限USE_SIP由用户授予
问题是并非所有设备都支持 Android SDK。
您可以先检查当前设备是否支持:
if(SipManager.isVoipSupported(getApplicationContext())){
Log.d("VOIP:", "Supported!");
}
else{
Log.d("VOIP:", "Not Supported");
}
if(SipManager.isApiSupported(getApplicationContext())){
Log.d("API:", "Supported!");
}
else{
Log.d("API:","NotSupported!");
}
Run Code Online (Sandbox Code Playgroud)
有时支持 API,但不支持 VOIP。我测试过Moto E 2nd Gen.,Moto X 2014, 1st Gen.Moto X 上不支持 API 和 VOIP,Moto E 上仅支持 API,但不支持 VOIP。
为了避免这个警告,您可以使用第 3 方 API,例如Doubango。
来源:Android 上的 SIP:本文详细讨论了这个问题并提出了替代 API 的建议。
| 归档时间: |
|
| 查看次数: |
1150 次 |
| 最近记录: |