设备管理API,如何成为设备所有者?

2023-11-22

我想用DevicePolicyManager方法:setSecureSetting。此方法需要配置文件或设备所有者:

由配置文件或设备所有者调用以更新 Settings.Secure 设置。

我的应用程序已激活设备管理,因为当我打电话时isAdminActive它返回 true。

但当我打电话时setSecureSetting我得到了例外:

E/DevicePolicyUtility( 9901): java.lang.SecurityException: Admin ComponentInfo{com.xxxx/com.xxxx.MyDeviceAdminReceiver} does not own the profile
E/DevicePolicyUtility( 9901):   at android.os.Parcel.readException(Parcel.java:1546)
E/DevicePolicyUtility( 9901):   at android.os.Parcel.readException(Parcel.java:1499)
E/DevicePolicyUtility( 9901):   at android.app.admin.IDevicePolicyManager$Stub$Proxy.setSecureSetting(IDevicePolicyManager.java:4300)
E/DevicePolicyUtility( 9901):   at android.app.admin.DevicePolicyManager.setSecureSetting(DevicePolicyManager.java:3399)

那么,如何成为 API 的设备所有者呢? 我没有找到在http://developer.android.com/guide/topics/admin/device-admin.html or http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html


我在 API 级别 23 上尝试这样做:

Intent intent = new Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE);
intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,ctx.getPackageName());
if (intent.resolveActivity(ctx.getPackageManager()) != null) {
    ctx.startActivity(intent);
} else {
    Toast.makeText(ctx, "Stopping.", Toast.LENGTH_SHORT).show();
}

And I got message:enter image description here


要成为设备所有者,有两种可能性

  • 通过 NfcProvisioning,如本示例中所述:https://developer.android.com/samples/NfcProvisioning/index.html
  • 或者通过命令行,使用dpm工具是这样的:

    亚行外壳

    dpm 设置设备所有者 com.mycompany.deviceowner/.DeviceAdminReceiver

dpm set-device-owner:将给定组件设置为活动管理员,并且 其包作为设备所有者。

感谢弗洛伦特·杜邦:http://florent-dupont.blogspot.fr/2015/01/android-shell-command-dpm-device-policy.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设备管理API,如何成为设备所有者? 的相关文章

随机推荐

  • 如何为 C# 配置 Eclipse [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在使用 Eclipse Juno 和 windows 8 我想为 juno 配置 C 因为 eclipse 比其他框架更容易 并且它有 c c java 等 但没有 C 所以有人
  • 从 C# 代码与 Quickbook 集成的最佳方式是什么? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 根据我的研究 基本上有 3 个选择 1 使用COM2 使用 Web 服务和 Web 连接器3 使用第三方组件 而且似乎有很多 这些选项中的每一个都给我带来了一个问题 1 我被告知不能使用
  • celery get 和 join 之间的区别

    之间有什么区别 r group some task s i for i in range 10 apply async result r join And r group some task s i for i in range 10 re
  • 如何在Java中优雅地处理SIGTERM信号?

    假设我们有一个用 java 编写的简单守护进程 public class Hellow param args the command line arguments public static void main String args wh
  • 部分声明,不得指定不同的基类

    我知道互联网上有这方面的信息 并且我已经搜索过 但我仍然收到错误 有人能指出我做错了什么吗 基类 using System using System Collections Generic using System Linq using S
  • Python 入口点“console_scripts”未找到

    我无法在 python 包中导入入口点控制台脚本 寻求帮助调试我当前的问题 因为我已经阅读了有关该问题的所有相关帖子 这是我的目录结构 ContentAnalysis init py command line py document py
  • AttributeError:“tuple”对象没有属性“append”[重复]

    这个问题在这里已经有答案了 谁能帮我处理这段代码吗 Jobs openFile open Jobs txt x 1 while x 0 Stuff openFile readline x if Stuff Jobs append Stuff
  • 跨浏览器自定义光标样式

    我用img标签显示世界地图 我将图像映射与它关联起来以超链接某些区域 我覆盖了一个带边框的框 div 指示可以单击和缩放某个区域 现在 为了向用户展示它是这样做的 我希望光标更改为放大镜形状 我浏览了一下网络 发现了一些可以在 firefo
  • 我怎么知道 dll 不是调试版本

    我如何确定我的生产服务器使用发布构建 dll 有没有办法在dll中找到该信息 重复 如何判断 net应用程序是在DEBUG还是RELEASE模式下编译的 如何检查 DLL 是否经过调试编译 如果它是c DLL 那么您可以使用ildasm P
  • IE9 JavaScript 数组初始化错误

    显然 IE9 中的 JS 实现在处理数组文字方面包含 IMO 严重 错误 在 IE9 中某些情况下这段代码 var a 1 2 3 4 将创建长度为 5 的数组 最后一个元素等于undefined 以下是我的 KiTE 引擎测试页面的两个版
  • 以编程方式将按钮添加到布局

    我在向用 XML 创建的布局添加按钮时遇到问题 这就是我想要实现的目标 some class else startActivity new Intent StatisticsScreen this ScreenTemperature cla
  • 如何使用 FB.UI 自动发布?

    我有stream publish权限 但它仍然弹出一个对话框 并且似乎没有任何方法可以传递autopublish bool 就像在图形API之前一样 编辑 还尝试了offline access和stream publish 关于如何让它发挥
  • 如何使用实体框架包含排序的导航属性[重复]

    这个问题在这里已经有答案了 我有一个实体A与集合B里面 我用一个加载它们 entity A Include a gt a B 现在我想让 B 进入 A 按自定义 OrderBy 排序 我试过 entity A Include a gt a
  • Eclipse EGIT - 所有已提交、拉取、合并、标记为合并,仍在推送中我被“拒绝 - 非快进”,我错过了什么?

    我开始尝试使用 Git 我确信我错过了一些东西 因为我无法进行简单的合并和推送 这是我所做的 我可能以错误的顺序 或者任何顺序错误 如果是 请纠正 pull 同步工作区 关于冲突 进行了手动合并 然后 标记为已合并 有必要吗 其余 允许自动
  • Java中Friend概念的实现[重复]

    这个问题在这里已经有答案了 如何在 Java 如 C 中实现友元概念 Java没有C 中的friend关键字 然而 有一种方法可以模拟这一点 一种实际上可以提供更精确控制的方法 假设您有类 A 和 B B 需要访问 A 中的某些私有方法或字
  • PostGis距离计算

    我现在正在做一个室内地图导航应用程序 我想做的是建立建筑物中地图点的数据库 我使用的所有坐标均取自 Google 地图 这意味着 EPSG 为 3857 我现在需要做的是找到以米为单位的距离并使用以米为单位的 D Within 当我尝试提取
  • UITableView 中何时调用 tableView:numberOfRowsInSection: ?

    tableView numberOfRowsInSection发送到 UITableView 的委托以找出给定部分中需要有多少行 我的问题是 这个方法何时以及多久被调用一次 该方法在第一次加载表视图时被调用 如果您对委托更感兴趣 那么放置一
  • 如何有条件地禁用 routerLink 属性?

    在我的 Angular 2 应用程序中 我尝试禁用 routerLink 但没有成功 我试图处理点击事件click事件 与event preventDefault and event stopPropagation 但它不起作用 如何禁用
  • npm install 会导致类似 npm ERR! 的错误! Debian 上的 tar.unpack 解压错误

    安装 Grunt 如下所示引导文档如图所示 我首先安装了grunt cli全球范围内与npm install g grunt cli现在我正在尝试执行npm install 但只收到错误 root devvm var www axit po
  • 设备管理API,如何成为设备所有者?

    我想用DevicePolicyManager方法 setSecureSetting 此方法需要配置文件或设备所有者 由配置文件或设备所有者调用以更新 Settings Secure 设置 我的应用程序已激活设备管理 因为当我打电话时isAd