我正在开发一个跟踪应用程序,我需要防止用户关闭用于确定位置的基本传感器。我无法修改设备 ROM 或拥有 root 访问权限(或者至少最好没有),但我想到使用设备管理 API 通过 Profile Owner 或 Device Owner 模式执行这些功能。我基本上是在寻找一种在 Android 设置中阻止这些功能的方法。
我不确定这是否可能以及如何做到这一点,我没有在 GitHub 中找到已实现此功能的应用程序的示例。谁能给我一个灯,一些例子或具体的文件?
我尝试遵循这三个文档,但没有成功找到此特定功能的解决方案:
https://source.android.com/devices/tech/admin https://developer.android.com/guide/topics/admin/device-admin https://developers.google.com/android/management/introduction
这是我一直在尝试的摘录:
setUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, true);
setUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS, active);
setUserRestriction(UserManager.DISALLOW_CONFIG_BLUETOOTH, active);
private void setUserRestriction(String restriction, boolean disallow){
if (disallow) {
mDevicePolicyManager.addUserRestriction(mAdminComponentName, restriction);
} else {
mDevicePolicyManager.clearUserRestriction(mAdminComponentName,
restriction);
}
}
DISALLOW_CONFIG_BLUETOOTH 在 API 级别 18 中添加 public static final String DISALLOW_CONFIG_BLUETOOTH
指定是否不允许用户配置蓝牙。这并不限制用户打开或关闭蓝牙。默认值为假。
此限制不会阻止用户使用蓝牙。要完全禁止在设备上使用蓝牙,请使用 DISALLOW_BLUETOOTH。
此限制在托管配置文件中无效。
用户限制的关键。
类型:布尔值