我想知道是否可以使用 Android 4.0 中的新 VPN API 以编程方式创建 VPN 接口。我已经看过了http://developer.android.com/resources/samples/ToyVpn http://developer.android.com/resources/samples/ToyVpn但这是关于创建一个完整的 VPN 客户端来处理连接等。我只想添加新的 VPN 配置并可能删除现有的配置。
像这样的问题有很多,但似乎都是 4.0 之前的问题。我知道以前这是不可能的,但人们会认为新的 VPN API 提供了这样的功能。那么有没有人找到一种方法来做到这一点,或者仍然不可能?如果有办法,请指出我正确的方向。
看来这是通过 com.android.settings.vpn2.VpnDialog (和相关)类在内部处理的,这些类基本上做KeyStore.getInstance().put("VPN_[VPN ID]", [encoded VpnProfile object]>)
-- 然后会导致创建名为“/data/misc/vpn/1000_VPN_[VPN ID]”的文件(其中 1000 显然是系统进程 ID)。
使用反射(或访问隐藏/内部 API 的黑客之一),您可以自己执行此操作,但由于您的进程不会作为系统进程运行,因此系统 VPN 浏览器不会看到它们。
然而,根据这个(http://code.google.com/p/android/issues/detail?id=8915 http://code.google.com/p/android/issues/detail?id=8915),至少有一个应用程序可以在没有 root 的手机的情况下执行此操作,但源代码似乎不可用......所以也许有某种方法可以做到这一点,但我无法弄清楚 - 我肯定会如果有的话感兴趣。
附: - 这是另一个类似的问题(尽管它专门询问有关使用 root 设备的问题):在 Android 上创建 VPN 配置文件 https://stackoverflow.com/q/9718289/1281925
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)