国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android判斷某個權限是否開啟的方法

2019-10-21 21:44:03
字體:
來源:轉載
供稿:網友

如下所示:

/** * 讀寫權限 自己可以添加需要判斷的權限 */public static String[]permissionsREAD={    Manifest.permission.READ_EXTERNAL_STORAGE,    Manifest.permission.WRITE_EXTERNAL_STORAGE };
/** * 判斷權限集合 * permissions 權限數組 * return true-表示沒有改權限 false-表示權限已開啟 */public static boolean lacksPermissions(Context mContexts,permissionsREAD) {  for (String permission : permissions) {    if (lacksPermission(mContexts,permission)) {      return true;    }  }  return false;}/** * 判斷是否缺少權限 */private static boolean lacksPermission(Context mContexts, String permission) {  return ContextCompat.checkSelfPermission(mContexts, permission) ==      PackageManager.PERMISSION_DENIED;}

//Activity使用

if (lacksPermissions()){//讀寫權限沒開啟  ActivityCompat.requestPermissions(this,permissionsREAD,0);}else {  //讀寫權限已開啟}

//權限設置回調

@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {  super.onRequestPermissionsResult(requestCode, permissions, grantResults);  if (requestCode==0){    for (int i = 0; i < permissions.length; i++) {      if (grantResults[i]!=-1){        //T.showShort(mContext,"權限設置成功");              }else {        //T.showShort(mContext,"拒絕權限");        // 權限被拒絕,彈出dialog 提示去開啟權限        showPermissions();        break;      }    }  }}
//彈出dialog
private void showPermissions(){  final Dialog dialog=new android.app.AlertDialog.Builder(mContext).create();  View v=LayoutInflater.from(mContext).inflate(R.layout.dialog_permissions,null);  dialog.show();  dialog.setContentView(v);  Button btn_add= (Button) v.findViewById(R.id.btn_add);  Button btn_diss= (Button) v.findViewById(R.id.btn_diss);  btn_add.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {      dialog.dismiss();      Intent intent = new Intent();      intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);      intent.addCategory(Intent.CATEGORY_DEFAULT);      intent.setData(Uri.parse("package:" + getPackageName()));      intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);      intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);      intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);      startActivity(intent);    }  });  btn_diss.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {      dialog.dismiss();    }  });}

//dialog布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="250dp"  android:layout_height="wrap_content"  android:layout_gravity="center"  android:background="@color/white"  android:orientation="vertical" >  <TextView    android:id="@+id/tv_title"    android:layout_width="match_parent"    android:layout_height="40dp"    android:layout_gravity="center_vertical"    android:gravity="center"    android:text="提示"    android:background="@color/zhuti_color"    android:textColor="@color/white"    android:textSize="16sp" />  <TextView    android:id="@+id/tv_hint"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:textColor="@color/zhuti_color"    android:layout_marginRight="10dp"    android:layout_marginLeft="10dp"    android:layout_marginTop="10dp"    android:textSize="16sp"    android:gravity="center"    android:lineSpacingExtra="3dp"    android:text="需要手動開啟權限才能使用"/>  <TextView    android:id="@+id/tv_hint2"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:textColor="@color/zhuti_color"    android:layout_margin="10dp"    android:textSize="12sp"    android:gravity="center"    android:visibility="gone"    android:lineSpacingExtra="3dp"    android:text=""/>  <LinearLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_margin="15dp"    android:gravity="center"    android:orientation="horizontal">    <Button      android:id="@+id/btn_diss"      android:layout_width="0dp"      android:layout_weight="1"      android:layout_height="30dp"      android:background="@color/line2"      android:text="取消"      />    <Button      android:id="@+id/btn_add"      android:layout_width="0dp"      android:layout_weight="1"      android:layout_height="30dp"      android:layout_gravity="center"      android:background="@color/zhuti_color"      android:text="去設置"      android:layout_marginLeft="20dp"      android:textColor="@color/white" />  </LinearLayout></LinearLayout>

Android,判斷,權限,開啟

以上這篇Android判斷某個權限是否開啟的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长兴县| 霍山县| 江西省| 柳林县| 宽城| 类乌齐县| 交城县| 湘潭市| 卓尼县| 惠东县| 灵石县| 德化县| 汉川市| 大埔县| 龙南县| 上饶市| 屯留县| 包头市| 安多县| 清新县| 舞阳县| 吉林省| 江西省| 伊川县| 抚松县| 湘潭市| 曲松县| 香港 | 土默特左旗| 黎川县| 龙门县| 玉门市| 宝丰县| 高州市| 棋牌| 措美县| 高淳县| 剑川县| 铜鼓县| 海宁市| 常山县|