1

我发现,在某些设备上VPNService不可用,即使它们具有正确的 android 版本(4.0 或更高版本)。有没有办法检查设备上是否真的有一些服务可用?

棘手的部分是,在某些设备上调用建立()方法后抛出异常,但在其他设备上此方法工作正常,但应用程序在尝试打开确认窗口后崩溃。因此,解决方案不能中继检查建立()是否抛出异常。

4

1 回答 1

0

我是 OpenVPN for Android 应用程序的作者。我也必须处理这些错误。第一个很容易。它会抛出一个 ActivityNotFoundException。如果您想先检查一下,您可能可以检查意图中提到的 Activity 是否存在。

http://code.google.com/p/ics-openvpn/source/browse/src/de/blinkt/openvpn/LaunchVPN.java?name=v0.5.28#380

建立()问题更难解决。我使用捕获所有异常。在几乎所有情况下,/dev/tun 设备都不存在或拥有错误的权限。检查是否可行,但实施可能会发生变化,耳机供应商理论上可以推出自己的实施。这就像问操作系统:“你有问题吗?” 并期待一个正确的答案...

http://code.google.com/p/ics-openvpn/source/browse/src/de/blinkt/openvpn/OpenVpnService.java?name=v0.5.28#351

于 2013-01-04T23:11:01.830 回答