我实现了简单的 SIP 客户端应用程序来接听电话。我通过 official manual并从中获取代码。
我注意到了
SipManager.newInstance(getApplicationContext());
返回空值。 Documentation says当设备不支持 SIP API 时会发生这种情况。但是,我将 LG G6 与 Android 7.0 一起使用,并且成功地从 Google Play 测试了第三方 SIP 客户端。所以我怀疑 API 是否真的不受支持。我怎么检查呢?
我的 list 具有所有权限(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!");
}
有时支持 API 但不支持 VOIP。我在 Moto E 2nd Gen.
和 Moto X 2014, 1st Gen.
上进行了测试,Moto X 不支持 API 和 VOIP,Moto E 仅支持 API,但是VOIP 不是。
为避免此警告,您可以使用第三方 API,例如 Doubango .
来源:SIP on Android : 本文详细讨论了这个问题并提出了替代 API。
关于android - SipManager.newInstance 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49865269/