首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换"vpn.connectivity“广播事件

替换"vpn.connectivity“广播事件
EN

Stack Overflow用户
提问于 2014-01-14 19:56:21
回答 1查看 936关注 0票数 4

我想要监视Android中VPN连接的状态,我遇到了一个问题。我看到,在ICS之前,我可以在"vpn.connectivity“操作上设置一个广播接收器,但是我在ICS或更高版本中没有看到任何类似的东西。

目前,我的最佳选择似乎是轮询一台已知只能通过VPN访问的服务器,但由于许多原因,轮询并不是一个很好的解决方案。有谁有检测Android > 4.0内建VPN客户端连接/断开事件的解决方案吗?这似乎是一个可以作为ConnectivityManager广播包含的特性。

我已经证实,BroadcastReceiver侦听"vpn.connectivity“意图对运行3.2的宏碁有效,但对运行4.4的Nexus 7 2013不起作用。

更新:

我看到ICS中有一个VpnService类。从我阅读的文档来看,这似乎是为了从您的应用程序中创建一个VPN。如果系统中的客户端足够的话,我不想维护VPN客户端。我可能会接受使用这种类型的类作为对系统中配置的VPN的传递,但是我的直觉告诉我,这是不可能的,因为操作系统似乎已经锁定了系统VPN配置和事件的可见性。

EN

回答 1

Stack Overflow用户

发布于 2018-01-05 03:10:03

我找到了一种适用于安卓5.0+的方法,使用它的新API。

代码语言:javascript
复制
val request = NetworkRequest.Builder()
        .addTransportType(NetworkCapabilities.TRANSPORT_VPN)
        .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
        .build()
connectivityManager.registerNetworkCallback(request, yourListener)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21122751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档