我正在开发一个实现 VPN 服务的应用程序,我想在用户从 Android 设置中单击我的应用程序的 VPN 服务上的“忘记 VPN”时收听。
有没有办法做到这一点?
我正在开发一个实现 VPN 服务的应用程序,我想在用户从 Android 设置中单击我的应用程序的 VPN 服务上的“忘记 VPN”时收听。
有没有办法做到这一点?
检查VpnSettings#deleteProfile()的源代码时- 没有广播。
唯一可用的回调似乎是VpnService#onRevoke();正如文件所述:
当应用程序被撤销时调用。此时,VPN接口已经被系统禁用。应用程序应该关闭文件描述符并正常关闭。此方法的默认实现是调用
Service#stopSelf()
.
不,您可以使用Intent prepare = VpnService.prepare(this)
,如果意图为空,则在设置中创建您的 VPN,否则调用startActivityForResult(prepare, REQUEST_VPN)
创建 VPN。您可以使用空检查prepare == null
来了解是否创建了 VPN。希望这对您有所帮助。