Android 连接/断开VPN时,ConnectionManager.NetworkCallback调用丢失
我的Android应用程序已在可用和onLost NetworkCallbacks上注册了ConnectivityManager,但在VPN(我正在使用OpenVPN应用程序进行测试)连接或断开连接时不会调用它们。当蜂窝网络连接/断开时,它们确实会被呼叫 在连接VPN之前,allNetworks显示一个网络: 11-17 16:16:22.719 23531 23531 I Baresip:发现网络106具有[传输:蜂窝功能:SUPL&INTERNET&非限制、受信任、非虚拟专用网&验证、非漫游、前景、非拥挤、非暂停不需要的:链路带宽>=51200Kbps链路带宽>=102400Kbps说明符:] 连接VPN后,有两个网络: 11-17 16:17:17.464 23531 23531 I Baresip:发现网络106具有[传输:蜂窝能力:SUPL&INTERNET&非受限、可信、非虚拟专用网&验证、非漫游、前景、非拥挤、非暂停不需要的:链路带宽>=51200Kbps链路带宽>=102400Kbps说明符:] 11-17 16:17:17.466 23531 23531 I Baresip:发现网络225具有[传输:VPN功能:互联网和非限制、可信和验证、非漫游和前景、非拥挤和非暂停:] 但是,当VPN网络可用时,我的应用程序不会收到关于它的可用(或任何其他)ConnectionManager通知。同样的问题,当我断开VPN时 这是一个安卓错误还是有其他方法可以得到VPN事件的通知 编辑:我搜索了谷歌的问题追踪器,发现了完全相同的问题: 不幸的是,作者没有提供谷歌要求的所有信息,他们结束了这个问题 我创建了一个新的bug报告,但很可能不会导致任何结果:Android 连接/断开VPN时,ConnectionManager.NetworkCallback调用丢失,android,vpn,android-connectivitymanager,Android,Vpn,Android Connectivitymanager,我的Android应用程序已在可用和onLost NetworkCallbacks上注册了ConnectivityManager,但在VPN(我正在使用OpenVPN应用程序进行测试)连接或断开连接时不会调用它们。当蜂窝网络连接/断开时,它们确实会被呼叫 在连接VPN之前,allNetworks显示一个网络: 11-17 16:16:22.719 23531 23531 I Baresip:发现网络106具有[传输:蜂窝功能:SUPL&INTERNET&非限制、受信任、非虚拟专用网&验证、非漫游
因此,欢迎社区提供帮助。为了在VPN连接更改时调用回调,需要从构建器中删除NetworkCapabilities.NET\u CAPABILITY\u NOT\u VPN:
val builder = NetworkRequest.Builder()
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
默认情况下,包含该功能