問題タブ [android-vpn-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
256 参照

android - 一部のデバイスで startActivityForResult が原因でアプリがフリーズする

デバイス固有の問題があります。私のアプリは でインテントを開始しstartActivityForResultます。これは、一部の Android 7 デバイスでのみ、ほとんどすべてのテスト デバイスで動作します。これにより、APP がフリーズし、GUI が反応しなくなります。

コードは次のようになります。

REQUEST_CONNECT_VPN は値 2 の int です

残念ながら、onActivityResult到達することはありません。startActivityForResult内で呼び出しsuper. startActivityForResult (intent, requestCode);た後、アプリのブレークポイントの後に何も起こりません。他のすべてのデバイスの中で、にジャンプして戻りonActivityResultます。

インテントが null の場合、APP は正常に動作し (スキップされたコード部分を除く)、フリーズしません。

私の質問は、ほとんどのデバイスがonActivityResult適切に呼び出す理由と、一方でいくつかの Android 7 デバイスでフリーズが発生する理由です。

編集:

startActivityForResult一部のデバイスでアプリがフリーズする原因が判明したandroid:launchMode="standard">ため、マニフェストに追加しました。これにより、動作しない一部のデバイスのフリーズが修正されました。RESULT_CANCELEDしかし、明らかに、毎回受信するだけのデバイスがさらに表示されます。

0 投票する
1 に答える
363 参照

android - what is Android VpnService.Builder setBlocking

My question is: what does it really do? For instance, if I set it to true, what does it do to packages (datagrams?) that I want to write to the TUN device? As far as I noticed it does not mean that all packets to be written to the TUN device will be discarded rather than processed in another manner. Does it mean this?

So I can only track what it does only this far:

And that

I also read the official description, but it is still unclear to me. Googling it will only lead to search results related to "how to bypass VPN blocking".