切断時に追加のクリーンアップを実行する必要がある VpnService のカスタム実装があります。サービスバインディングを使用してアプリケーションから VpnService を停止している場合はすべて正常に機能しますが、システムダイアログを使用してクライアントが VPN から切断されている場合は、そのクリーンアップを実行する必要があります。
では、どうすれば切断をキャッチし、それにいくつかの処理を追加できますか?
Android で VPN 接続ステータスを取得する- これが解決策になる可能性がありますが、Android 4 以降では機能しません。
ログの観点からは、次の 2 つのエントリしかありません。
03-20 03:27:09.478: INFO/Vpn(504): Switched from org.my.package to [Legacy VPN]
03-20 03:27:09.478: DEBUG/Vpn(504): setting state=IDLE, reason=prepare