Android-動態權限獲取


聲明權限:

首先在清單文件中寫出相應權限

<!--存儲權限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

獲取權限:

1、 聲明變量記錄對應權限

int REQUEST = 0;

2、判斷是否有相應權限,如果沒有則獲取


//判斷是否已經獲取相應權限                                                              對應權限
if (ContextCompat.checkSelfPermission(LoginActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
        //相應操作
}
// 若沒有獲得相應權限,則彈出對話框獲取
else {                                                                                                        //申請權限
    ActivityCompat.requestPermissions(LoginActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST);
}

3、重寫 onRequestPermissionsResult 判斷是否得到授權

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == this.REQUEST) {
        // 如果用戶賦予全選,則執行相應邏輯
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            String str = etName.getText().toString().trim();
            saveText(str);
        } else {
            toast("拒絕授權");
        }
    }
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM