迄今為止,Android系統的手機已經在整個手機市場中占有很大的比重。其中小米手機更是因為它的性價比和銷售模式普遍的出現在了人們的日長生活中。
廢話不多說,進入正題。作為一個Android的開發者,避免不了對各種手機進行適配,小米手機的MIUI系統不巧也在這個行列之中。
在進行適配的過程中,因為MIUI系統的各種功能的封裝,對我們產生了很大的困擾。今天就來說一下小米的自啟動問題。
做一款開機自啟的軟件,在其他的手機上很容易就實現了,結果在小米手機上卻怎么也啟動不起來。最后發現在小米的安全中心里有個授權管理。里面可以設置小米可以自啟的軟件,如果想要開機啟動自己的程序,就需要用戶手動將自己的程序在里面設置。不然的話是不會自啟的。
事已至此對於小米的系統已經不抱任何希望了,但是我們更想探究一下微信、QQ等應用是怎么在小米系統上實現自啟動的。
為了驗證這個原因,我先把QQ從測試機上卸載了,發現自啟動列表中同時也沒有了QQ的選項。隨后馬上又安裝了一個QQ,再去查看自啟動列表。結果QQ又出現在了這個列表里。
同樣的操作又在自己做的程序里,結果發現自己的程序沒有出現在自啟動列表里。
結果表明,要么是QQ有自己的處理添加到了這個列表里。這個處理實在是無從考證。要么是MIUI系統對QQ的特殊照顧。我們決定測試一下第二個想法。
我們把一個帶自啟動的程序包名改成了QQ的包名,然后安裝到了MIUI的系統下,然后奇跡就發生了。
我們發現我們的自啟動例子程序的圖標自己變成了QQ的圖標。然后在自啟動列表中發現了自己的例子的身影,名字是我們的名字,圖標卻是QQ的圖標!我和我的小伙伴們都驚呆了。。。。
結果表明,MIUI系統中是存在一個程序列表的,這個列表里緩存着一些擁有MIUI特權的程序。這讓我們這些程序員情何以堪!
