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

首頁(yè) > 系統(tǒng) > Android > 正文

Android判斷某個(gè)權(quán)限是否開啟的方法

2019-12-12 00:38:27
字體:
供稿:網(wǎng)友

如下所示:

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

//Activity使用

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

//權(quán)限設(shè)置回調(diào)

@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,"權(quán)限設(shè)置成功");              }else {        //T.showShort(mContext,"拒絕權(quán)限");        // 權(quán)限被拒絕,彈出dialog 提示去開啟權(quán)限        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="需要手動(dòng)開啟權(quán)限才能使用"/>  <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="去設(shè)置"      android:layout_marginLeft="20dp"      android:textColor="@color/white" />  </LinearLayout></LinearLayout>

以上這篇Android判斷某個(gè)權(quán)限是否開啟的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 保亭| 荆州市| 朝阳区| 博野县| 桑日县| 额敏县| 永宁县| 沾化县| 吴堡县| 灵石县| 读书| 五家渠市| 营口市| 禄劝| 沛县| 新余市| 毕节市| 丁青县| 乌苏市| 霍山县| 灵武市| 花垣县| 山阴县| 龙州县| 中阳县| 柘荣县| 平昌县| 新营市| 奈曼旗| 迁西县| 翁源县| 象州县| 彝良县| 二手房| 太谷县| 崇阳县| 阿拉尔市| 龙江县| 聂拉木县| 保亭| 华坪县|