迄今为止Android系统的手机已经在整個手机市场中占有很大的比重。其中小米手机更是因为它的性价比和销售模式普遍的出现在了人们的日长生活中
废话不多说,进入正题作为一个Android的开发者,避免不了对各种手机进行适配小米手机的MIUI系统不巧也在这个行列之中。
在进行适配的过程中因为MIUI系统的各种功能的封装,对我们产生了很大的困扰今天就来说一下小米的自启动问题。
做一款开机自启的软件在其他的手机上很容易就实现了,结果在小米手机上却怎么也启动不起来最后发现在小米的安全中心里有个授权管理。里面可以设置小米可以自启的软件如果想要开机启動自己的程序,就需要用户手动将自己的程序在里面设置不然的话是不会自启的。
事已至此对于小米的系统已经不抱任何希望了但是峩们更想探究一下微信、QQ等应用是怎么在小米系统上实现自启动的。
为了验证这个原因我先把QQ从测试机上卸载了,发现自启动列表中同時也没有了QQ的选项随后马上又安装了一个QQ,再去查看自启动列表结果QQ又出现在了这个列表里。
同样的操作又在自己做的程序里结果發现自己的程序没有出现在自启动列表里。
结果表明要么是QQ有自己的处理添加到了这个列表里。这个处理实在是无从考证要么是MIUI系统對QQ的特殊照顾。我们决定测试一下第二个想法
我们把一个带自启动的程序包名改成了QQ的包名,然后安装到了MIUI的系统下然后奇迹就发生叻。
我们发现我们的自启动例子程序的图标自己变成了QQ的图标然后在自启动列表中发现了自己的例子的身影,名字是我们的名字图标卻是QQ的图标!我和我的小伙伴们都惊呆了。。
结果表明,MIUI系统中是存在一个程序列表的这个列表里缓存着一些拥有MIUI特权的程序。这讓我们这些程序员情何以堪!
}