我今天分享这个《管理员安卓》,不是啥高大上的技术,就是我前阵子给我家那小屁孩捣鼓平板闹的。那小子,动不动就把我给他学习用的平板拿去玩游戏,我一气之下,就想着能不能搞个东西锁死它,让他除了看学习资料啥都干不了。我琢磨着,这不就是所谓的“Kiosk”模式,或者叫“设备管理”嘛

第一次瞎折腾:普通权限根本不顶用

起初我多简单,以为就是在AndroidManifest文件里随便勾几个权限就行了。什么禁止卸载,禁止后台运行,我一股脑全塞进去了。结果编译,安装,一运行,好嘛连个屁用都没有。那小子照样能切出去,照样能卸载。我当时真是气得够呛,感觉自己白折腾了。

我立马打开电脑,翻遍了国内外的论坛,搜索“安卓 如何强制锁定 应用”、“应用无法被卸载”这些关键词。这才搞明白了,要想管住这手机,光靠普通权限根本没戏,它得要一个特殊的身份,大家叫它“设备管理员”,就是系统里的“大哥”。

第二次正经动手:请“大哥”上身

我整理了一下思路,这事儿不难,但步骤是真多,一步都不能错。这个管理员身份,不是你想拿就能拿的,得经过用户同意,还得告诉系统你要用这个权力干我立马开干了,主要就是三步:

    小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

  • 搭台子(AndroidManifest文件):我得在程序的“身份证”文件里登记一下,告诉系统:“我这有个东西,它想当管理员。”我添加了一个特殊的接收器(Receiver),并且给它挂载了一个“元数据”(Meta-data),这元数据就是指向我后面要写的政策文件。
  • 写政策(XML文件):这就是一份“申请书”。光说想当管理员不够,还得列出自己想干我根据需求新建了一个XML文件,里面写明了我要启用哪些管理功能,比如:强制设置屏幕密码、禁止相机、锁定屏幕、限制用户不能修改时间等等。当时我研究这些XML标签研究了好一阵,每一个标签都对应着一个权力。
  • 求同意(激活Intent):这是最关键的一步。程序跑起来之后,必须弹出一个巨大的系统窗口,让用户(也就是我)手动点击“激活”按钮,授权给它。我编写了一个Intent,让它去调用系统内置的管理员激活页面。代码一跑,那个霸气的窗口就弹出来了。我点了激活,那一瞬间,感觉自己好像掌握了这台设备的生杀大权。

的实现与教训:权力与卸载的拉锯战

激活成功后,我立马测试了一下。尝试卸载——系统提示“您必须先禁用设备管理员”,成功!尝试锁定屏幕——瞬间熄屏!我的目的终于实现了。我限制了平板只能运行我的学习应用,那小子再也不能随便切出去了。

不过实现完之后也闹了个笑话。有一次我想卸载我自己写的测试版,结果忘记了自己是管理员,直接去点卸载,系统弹出那个提示把我吓了一跳。又得回到设置里的“设备管理器”页面,先找到自己的程序,点击“停用”,然后才能滚回去卸载。这个流程让我认识到,这个管理员权限真是一把双刃剑,赋予了程序极大的控制权,同时也限制了它自己退出的自由。

这回实践让我深刻地体会到,安卓系统在权限管理上做得非常小心翼翼。这种底层的控制,都是需要开发者写得明明白白,用户也得亲自点头同意,才能拿到的。下次再有这种需要搞个强制功能的需求,我就知道该从哪个方向使劲了。

免责声明:喜欢请购买正版授权并合法使用,此软件只适用于测试试用版本。来源于转载自各大媒体和网络。 此仅供爱好者测试及研究之用,版权归发行公司所有。任何组织或个人不得传播或用于任何商业用途,否则一切后果由该组织及个人承担!我方将不承担任何法律及连带责任。 对使用本测试版本后产生的任何不良影响,我方不承担任何法律及连带责任。 请自觉于下载后24小时内删除。如果喜欢本游戏,请购买正版授权并合法使用。 本站内容侵犯了原著者的合法权益,可联系我们进行处理。