我对 Android 及其服务还很陌生。我正在尝试在我的应用程序中实现本地VPN 服务(使用 Kotlin 和 Java)。
\n\n我的 VPN 服务取自ToyVpn Google 示例,并结合 1、2、3 中的示例在本地使用(无需连接到远程服务器),但无法正常工作。
\n\n我看到了这个和这个问题,但是那里的答案不是很有见地,我找不到我的问题的解决方案。
\n\n所以该应用程序非常简单:当用户单击主活动上的“是”按钮时,它应该转发所有数据包,当单击“否”时,它应该阻止它。目的:将其用作防火墙,如下所示:
\n\n\n\n我所有的代码都是用 Kotlin 语言编写的,但它并不复杂,对于 JAVA 开发人员来说非常清晰。所以我希望上面的代码非常清晰,因为它取自此处(Google 提供的 ToyVpn 示例)并刚刚转换为 kotlin。
\n\n为了在我的应用程序中启用 VPN 服务,我将AndroidManifest.xml放入<application>标记此设置:
<service android:name="com.example.username.wifictrl.model.VpnFilter"\n android:permission="android.permission.BIND_VPN_SERVICE" >\n <intent-filter>\n <action android:name="android.net.VpnService" />\n </intent-filter>\n</service>\nRun Code Online (Sandbox Code Playgroud)\n\n我的MainActivity代码包含:
\n\noverride fun …Run Code Online (Sandbox Code Playgroud)