眾所周知,在Android11后,為了加強(qiáng)對權(quán)限的管理,原本動態(tài)權(quán)限的WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE已經(jīng)過時,而是轉(zhuǎn)而采用最新的MANAGE_EXTERNAL_STORAGE進(jìn)行授權(quán)。
授權(quán)方法也從原本調(diào)用動態(tài)權(quán)限彈窗的方案變成了跳轉(zhuǎn)系統(tǒng)設(shè)置頁面
val intent = Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
intent.data = Uri.parse("package:" + BaseApplication.context.packageName);
startActivityForResult(intent, 500);
今天閑著無聊,寫個讀相冊的demo玩玩,沒想到設(shè)置頁面彈出了,但是開關(guān)確是灰態(tài),不可點擊。

開關(guān)灰態(tài)
直接把我搞蒙蔽了,還以為是模擬器的問題,果斷用手機(jī)嘗試一下,結(jié)果。。。

開關(guān)灰態(tài)
不應(yīng)該啊,總不能手機(jī)也出問題了吧,這才想到是不是缺少配置,果不其然一看AndroidManifest沒有添加uses-permission
趁著沒被身邊的同事看到,趕快添加上對應(yīng)的權(quán)限
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
再運行一下。

非選中態(tài)

選中態(tài)
還好沒問同事,不然可就丟大人了,特此記錄一下。。。