眾所周知,如果設(shè)備運(yùn)行的是 Android 6.0(API 級(jí)別 23)或更高版本,并且應(yīng)用的 targetSdkVersion?是 23 或更高版本,則應(yīng)用在運(yùn)行時(shí)向用戶請(qǐng)求權(quán)限。用戶可隨時(shí)調(diào)用權(quán)限,因此應(yīng)用在每次運(yùn)行時(shí)均需檢查自身是否具備所需的權(quán)限。
在使用小米手機(jī)進(jìn)行開(kāi)發(fā)的時(shí)候,我們可能會(huì)碰到這樣一種情況:在系統(tǒng)設(shè)置中對(duì)應(yīng)用權(quán)限進(jìn)行修改但是并沒(méi)有效果,而且自己實(shí)現(xiàn)的跳轉(zhuǎn)與系統(tǒng)設(shè)置中的權(quán)限設(shè)置頁(yè)面存在很大的差異(如圖1,圖2)。


上述圖2中的權(quán)限設(shè)置完全沒(méi)有效果,而圖1中的權(quán)限設(shè)置也經(jīng)常無(wú)效。這到底是什么原因?qū)е碌哪兀?/p>
經(jīng)過(guò)排查發(fā)現(xiàn),MIUI中開(kāi)發(fā)者選項(xiàng)里面有一項(xiàng)“MIUI優(yōu)化”的選項(xiàng)(圖3),這個(gè)選項(xiàng)在未喚醒開(kāi)發(fā)者選項(xiàng)的時(shí)候是默認(rèn)選中的,而在開(kāi)啟“開(kāi)發(fā)者選項(xiàng)"之后可被人為取消的,而取消這個(gè)選項(xiàng)將直接導(dǎo)致上述問(wèn)題的出現(xiàn)。截止目前為止小米方面都沒(méi)有修復(fù)這個(gè)問(wèn)題(估計(jì)是不打算修復(fù)了)。

只要我們啟用MIUI優(yōu)化,應(yīng)用中跳轉(zhuǎn)的權(quán)限設(shè)置頁(yè)面就和設(shè)置中跳轉(zhuǎn)的權(quán)限設(shè)置頁(yè)面一樣了,同時(shí)權(quán)限設(shè)置修改也可以正常使用了。