1

一部のデバイスでは、適切な Android バージョン (4.0 以降) を使用していても、VPNServiceを利用できないことがわかりました。一部のサービスがデバイスで実際に利用可能かどうかを確認する方法はありますか?

注意が必要な部分は、一部のデバイスでは Establish() メソッドを呼び出した後に例外がスローされることですが、他のデバイスではこのメソッドは正常に動作しますが、確認ウィンドウを開こうとするとアプリがクラッシュします。したがって、解決は、 Establish() が例外をスローするかどうかのチェックを中継できません。

4

1 に答える 1

0

私は OpenVPN for Android アプリの作成者です。これらのバグにも対処する必要がありました。最初のものは簡単です。ActivityNotFoundException がスローされます。これを確認する前に、インテントに記載されているアクティビティが存在するかどうかを確認できます。

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

Establish() の問題は、取得するのがはるかに困難です。キャッチオール例外を使用します。ほとんどの場合、/dev/tun デバイスが存在しないか、権限が間違っています。これを確認することはできますが、実装は変更される可能性があり、ヘッドセット ベンダーは理論的には独自の実装を行うことができます。OS に「バグがありますか?」と尋ねるようなものです。そして正しい答えを期待して...

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 に答える