我发现,在某些设备VPNService上即使它们具有正确的Android版本(4.0或更高版本)也不可用。有没有办法检查是否有一些服务真的可以在设备上使用?
棘手的部分是,在某些设备上,在调用establish()方法后抛出异常,但在其他设备上,此方法工作正常,但是在尝试打开确认窗口后应用程序崩溃。所以解析不能在检查中是否会传递()抛出异常。
答案 0 :(得分:0)
我是OpenVPN for Android应用的作者。我也不得不处理这些错误。第一个很容易。它会抛出一个ActivityNotFoundException。如果你想检查一下,你可能会检查意图中提到的活动是否存在。
建立()问题要难得多。我使用catch捕获所有异常。几乎在所有情况下,/ dev / tun设备都不存在或具有错误的权限。检查这一点将起作用,但实施可以改变,耳机供应商理论上可以推出自己的实现。就像询问操作系统一样:“你有车吗?”期待一个正确的答案...