android 6.0 權限授權方法
更新時間:2018年07月30日 14:34:00 作者:hhbbeijing
今天小編就為大家分享一篇android 6.0 權限授權方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這里介紹兩種方式,如下:
一、逐次
private static final int PERMISSION_READ_EXTERNAL_STORAGE = 101;
private static final int PERMISSION_WRITE_EXTERNAL_STORAGE = 102;
private static final int PERMISSION_CAMERA = 103;
private void requestPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)== PackageManager.PERMISSION_DENIED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_WRITE_EXTERNAL_STORAGE);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_READ_EXTERNAL_STORAGE);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, PERMISSION_CAMERA);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int []grantResults) {
switch (requestCode) {
case PERMISSION_CAMERA: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
} else {
Toast.makeText(this, "沒有攝像頭權限我什么都做不了哦!", Toast.LENGTH_LONG).show();
}
break;
}
case PERMISSION_READ_EXTERNAL_STORAGE: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
} else {
Toast.makeText(this, "請打開存儲讀寫權限,確保APP正常運行", Toast.LENGTH_LONG).show();;
}
break;
}
case PERMISSION_WRITE_EXTERNAL_STORAGE: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
} else {
Toast.makeText(this, "請打開存儲讀寫權限,確保APP正常運行", Toast.LENGTH_LONG).show();;
}
break;
}
}
}
二、全部
private void requestPermission() {
List<String> permissionsNeeded = new ArrayList<String>();
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)== PackageManager.PERMISSION_DENIED) {
permissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
permissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE);
}
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
permissionsNeeded.add(Manifest.permission.CAMERA);
}
if(permissionsNeeded.size()>0){
ActivityCompat.requestPermissions(this, permissionsNeeded.toArray(new String[permissionsNeeded.size()]), 1);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int []grantResults) {
switch (requestCode) {
case 1: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
if (grantResults.length > 0 && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
if (grantResults.length > 0 && grantResults[2] == PackageManager.PERMISSION_GRANTED) {
} else {
dialog();
}
} else {
dialog();
}
} else {
dialog();
}
break;
}
}
}
以上這篇android 6.0 權限授權方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
android編程獲取和設置系統(tǒng)鈴聲和音量大小的方法
這篇文章主要介紹了android編程獲取和設置系統(tǒng)鈴聲和音量大小的方法,實例分析了Android針對音頻的相關操作技巧,需要的朋友可以參考下2017-06-06
Android 解決dialog彈出時無法捕捉Activity的back事件問題
這篇文章主要介紹了Android 解決dialog彈出時無法捕捉Activity的back事件問題的相關資料,需要的朋友可以參考下2016-11-11
android開發(fā)環(huán)境中SDK文件夾下的所需內容詳解
在本篇文章里小編給大家整理的是關于android開發(fā)環(huán)境中SDK文件夾下的所需內容詳解,有興趣的朋友們參考學習下。2019-09-09
Android編程實現(xiàn)Toast自定義布局簡單示例
這篇文章主要介紹了Android編程實現(xiàn)Toast自定義布局的方法,結合簡單實例形式分析了Toast自定義布局的實現(xiàn)步驟與相關操作技巧,需要的朋友可以參考下2017-02-02
Android程序開發(fā)之ListView實現(xiàn)橫向滾動(帶表頭與固定列)
這篇文章主要介紹了Android程序開發(fā)之ListView實現(xiàn)橫向滾動(帶表頭與固定列)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
Android 自定義view模板并實現(xiàn)點擊事件的回調
這篇文章主要介紹了Android 自定義view模板并實現(xiàn)點擊事件的回調的相關資料,需要的朋友可以參考下2017-01-01

