gpt4 book ai didi

java - 始终开启的 VPN 以编程方式打开 android

转载 作者:行者123 更新时间:2023-12-04 11:56:35 28 4
gpt4 key购买 nike

永远在线的 VPN 开关可以通过编程方式打开吗?
我已添加设备管理员权限。之后,我一直使用设备管理员进行设置

mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
mDeviceAdminSample = new ComponentName(this, DeviceAdminReceiver.class);
isAdminApp = mDPM.isAdminActive(mDeviceAdminSample);

if (isAdminApp) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
mDPM.setAlwaysOnVpnPackage(mDeviceAdminSample,"", true);
}
} catch (PackageManager.NameNotFoundException namenotfoundexception) {
namenotfoundexception.printStackTrace();
} catch (Exception ex) {
}
}
但它并没有启用永远在线。
我添加了包名 insted mDPM.setAlwaysOnVpnPackage(mDeviceAdminSample,"my.app.package.name", true);但仍然没有启用开关。
那么这段代码在做什么呢?
如何以编程方式启用它?
我希望这像下面的图片
Always-on VPN

最佳答案

根据docs , setAlwaysOnVpnPackage只能由配置文件所有者(通常是工作配置文件上的 MDM 客户端)或设备所有者(对于完全托管的设备)使用:

Called by a device or profile owner to configure an always-on VPN connection through a specific application for the current user. This connection is automatically granted and persisted after a reboot.


作为个人资料用户 - 我不希望我的 VPN 自行决定何时连接(如果实现正确,以编程方式始终设置将立即连接 VPN)。
作为工作资料用户(戴着员工的帽子) ,这不是我的决定,而是我的组织(通过个人资料所有者应用程序)的决定。
所以,总而言之,这种行为是有道理的。
更新:
您可以克隆、构建和调试 Google 的 Test DPC 应用程序,而不是实现 MDM,这可能需要大量工作,该应用程序具有以编程方式测试切换永远在线 VPN 所需的一切。
它还有数以百万计的其他东西,你不需要,所以一定要忽略其余的:)
我没有看过他们的代码,但我建议搜索 setAlwaysOnVpnPackage 的用法功能。
Google 的测试 DPC 应用程序:
  • Link到 Play 商店
  • Link到 GitHub 存储库(自己构建和调试)
  • 关于java - 始终开启的 VPN 以编程方式打开 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68213388/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com