問題タブ [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.
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
しかし、明らかに、毎回受信するだけのデバイスがさらに表示されます。
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".