Android 6.0中,除了危險(xiǎn)權(quán)限不再在安裝后授予,還有兩個(gè)特殊權(quán)限:
- 設(shè)置懸浮窗: SYSTEM_ALERT_WINDOW
- 修改系統(tǒng)設(shè)置:WRITE_SETTINGS
修改系統(tǒng)設(shè)置權(quán)限的授權(quán) WRITE_SETTINGS,與其他權(quán)限不同
而是使用startActivityForResult,啟動(dòng)系統(tǒng)設(shè)置的授權(quán)界面來申請(qǐng)
/**
* 申請(qǐng)權(quán)限
*/
private void requestWriteSettings()
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
//大于等于23 請(qǐng)求權(quán)限
if ( !Settings.System.canWrite(getApplicationContext()))
{
Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, REQUEST_CODE_WRITE_SETTINGS );
}
}else{
//小于23直接設(shè)置
}
}
獲取授權(quán)結(jié)果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_WRITE_SETTINGS)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
//Settings.System.canWrite方法檢測授權(quán)結(jié)果
if (Settings.System.canWrite(getApplicationContext()))
{
T.show("獲取了權(quán)限");
}else{
T.show("您拒絕了權(quán)限");
}
}
}
}

微信截圖_20180920215924.png