相关疑难解决方法(0)

如何通过框架API或任何其他有效方法找到VPN连接的状态?

至今:

我找到了以下解决方案

  1. 使用Broadcastreceiver

    广播接收器已从ICS弃用

  2. 使用Ping或Traceroute

    这肯定会花费很多时间而且效率不高

  3. 轮询DNS服务器更改

    这肯定会花费很多时间而且效率不高

  4. 使用ip-address

    即使根据网络连接不会花费太多时间,它也可能会有所不同

我的结论:

到目前为止,我发现的所有解决方案要么效率不高,要么不那么可靠.

我的问题:

如果VPN在Android设备中连接,那么android OS必须知道它.

是否有任何公共的android框架API来读取它,因为在本地查找是最有效和最可靠的解决方案?

有没有其他有效和可靠的方法来实现它(比如将C或C plus plus库与NDK集成)?

注意:

我也找不到OpenVPN for Android的任何自定义广播发件人/ AIDL

vpn android android-ndk aidl

11
推荐指数
1
解决办法
4864
查看次数

如何在Android ICS上检查VPN连接状态

我正在尝试注册接收器,这将检查VPN状态.我试过这个:在Android上获取VPN连接状态,但看起来它不再适用于ICS.我已经检查了android源代码的一些线索,但没有运气,只注意到在ISC中没有什么像:vpn.connectivityconnection_state- 它用于在android 2.3中.也尝试使用android.net.conn.CONNECTIVITY_CHANGE我的IntentFilter,但它根本没有对VPN连接做出反应(当然我已经添加了权限android.permission.ACCESS_NETWORK_STATE).我认为做起来很简单,但我已经没想到怎么做了......有人可以帮我这个吗?

vpn android broadcastreceiver

10
推荐指数
1
解决办法
3518
查看次数

在android中检测VPN背后

如果流量通过VPN而不使用意图连接到VPNService,如何以编程方式检测.有系统调用吗?

vpn android android-intent

5
推荐指数
2
解决办法
5102
查看次数

检查 VPN 状态已连接或未连接

我正在制作一个想要检测 VPN 连接的应用程序。我的问题是我想检测 VPN 连接,如果 VPN 已连接,我不想允许用户使用我的应用程序,如果 VPN 关闭,我想允许用户使用我的应用程序。

在问这个问题之前,我阅读了这个文件 VPNService VPNStatus

但我无法获得解决方案。如果有人知道解决方案,请与我分享。

提前致谢

vpn android

4
推荐指数
1
解决办法
1426
查看次数

如何在Android中为Vpn断开连接添加额外的处理?

我有一个VpnService的自定义实现,需要在断开连接时执行一些额外的清理.当我使用服务绑定从我的应用程序停止VpnService时,一切正常,但是当客户端使用系统对话框断开与Vpn的连接时,我需要执行该清理.

那么,我怎样才能找到断开连接并添加一些处理呢?

在Android上获取VPN连接状态 - 这可能是解决方案,但它不适用于Android 4+.

从日志的角度来看,只有两个条目:

03-20 03:27:09.478: INFO/Vpn(504): Switched from org.my.package to [Legacy VPN] 03-20 03:27:09.478: DEBUG/Vpn(504): setting state=IDLE, reason=prepare

vpn android

2
推荐指数
2
解决办法
1998
查看次数