android - VPNService 权限对话框是否可以通过?
问题描述
我们正在使用 VPNService 在 Android 中开发一个数据包捕获应用程序。使用 VPNService 启用用户必须接受的权限对话框。(https://developer.android.com/reference/kotlin/android/net/VpnService)。我们希望从 MDM 控制台部署此应用程序,并希望强制使用它。我们如何强制用户授予权限?在安装期间是否有任何方式授予权限,并且不会向用户显示对话框。
解决方案
您可以使用Intent prepare = VpnService.prepare(this);
来检查VPN是否被激活,如果prepare
为null,则它被激活,否则您应该通过startActivityForResult(prepare, REQUEST_VPN);
。如果您想强制激活,请在每次应用启动时检查它,或在任何活动 onResume() 中检查它,或者如果在每个 VPN 激活提示中未授予此权限,则设置警报以一次又一次地询问此权限。当您收到警报时,启动一项活动以启用此 VPN 服务。
推荐阅读
- ios - 如何使用swift在iOS中的图像上实现黑色渐变
- android - 如何修复 Android Studio 中未找到的 Android 插件
- electron - 在 Electron 中使用 Elm 0.19 时无法读取未定义的属性“Elm”
- java - 如何使用 TomEE 保护 jax-rs Web 服务?
- c# - Async Task.Run 在自托管的 Web 服务中运行 - 只要它有效,它就是“错误使用”吗?
- python - 无法加入字符串类型的熊猫数据框
- php - Laravel Passport 不生成令牌
- javascript - 网格视图未正确显示
- c++ - 如何通过引用将 c++ 字符串分配给另一个字符串
- three.js - 如何使用three.js旋转平面?