java - 为什么即使启用了 Wi-Fi 呼叫,方法 telephonyManager.getVoiceNetworkType() 也会返回 Network_LTE 的值?
问题描述
我的应用程序使用 telephonyManager 来检查语音呼叫所承载的网络类型。该测试是为了确认呼叫是通过 Wifi 进行的。但是,即使在通话期间,应用程序的打印结果也不是我所期望的。
int voiceNetworkTypeVal = 0;
voiceNetworkTypeVal = telephonyManager.getVoiceNetworkType();
但是,当我通过 Wifi 呼叫手机并运行应用程序时,手机总是将 voiceNetworkTypeVal 打印为 int 值 13、NETWORK_TYPE_LTE,而不是 wifi 呼叫的预期值 18 (NETWORK_TYPE_IWLAN)。任何人都知道如何解决这个问题?
解决方案
推荐阅读
- prolog - 使用序言的运行长度编码
- c++ - asio set_password_callback() 方法是什么?
- ios - react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o
- scala - Scala 测试错误:@Rule 必须是公开的
- r - == 给出奇怪的结果 R
- sharepoint - 使用 CSOM 在 Sharepoint 2019 上查询项目权限
- angular - Angular 无法将结果转换为对象 - 是 IActionResult 吗?
- excel - 将命名范围值分配给变量(Excel VBA) - 新手
- c++ - 手动编译 GLFW “未选择支持的窗口创建 API”
- angular - 异步管道的Angular 9过滤结果