[安卓開發基礎]許可權管理
阿新 • • 發佈:2019-01-12
public void checkselfPermisssion2(){ if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { if (!ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_CONTACTS)) { //第一次全新進入時,shouldShowRequestPermissionRationale方法將返回false,這裡將會執行。 //請求許可權時如果點了拒絕但是沒勾選不再提醒,shouldShowRequestPermissionRationale方法將返回true,這裡將不執行。 //點了拒絕且勾選了不再提醒,再次進入時,shouldShowRequestPermissionRationale方法也將返回false,並且許可權請求將無任何響應,然後可以在下面方法中做些處理,提示使用者開啟許可權。 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, 1);//1 表示使用者唯一標識一個許可權請求以便回撥時進行判斷 Log.i("permission","request"); } else { Log.i("permission","request2"); ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, 1); } } }
注意:當你的應用呼叫requestPermissions()
方法時,系統會向用戶展示一個標準對話方塊,你的應用不能修改也不能自定義這個對話方塊,如果你需要給使用者一些額外的資訊和解釋你就需要在呼叫requestPermissions()
之前像上面一樣" 解釋為什麼應用需要這些許可權"