首页 > os > android > > 正文

详解Android权限permission

发布人:zhoulujun@live.cn    点击:

网络上不乏android权限列表,但是很少有将列表和使用方法放在一起的,所以特此总结一下:1 需要在AndroidManifest xml中定义相应的权限。2、判断应用是否具有某个权限。3、获取某个应用的权限清

网络上不乏android权限列表,但是很少有将列表和使用方法放在一起的,所以特此总结一下

需要在AndroidManifest.xml中定义相应的权限(以获取internet访问权限为例),如下:

  1. < uses-permission   android:name ='android.permission.INTERNET'  />   

注意在<application>也可以定义INTERNET权限,如下:

  1. < application   android:permission ='android.permission.INTERNET' >   
1) 判断应用是否具有某个权限
[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. PackageManager pm = getPackageManager();  
  2.         boolean permission = (PackageManager.PERMISSION_GRANTED ==   
  3.                 pm.checkPermission("android.permission.RECORD_AUDIO""packageName"));  
  4.         if (permission) {  
  5.             showToast("有这个权限");  
  6.         }else {  
  7.             showToast("木有这个权限");  
  8.         }  

2)获取某个应用的权限清单
[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. try {  
  2.             PackageInfo pack = pm.getPackageInfo("packageName",PackageManager.GET_PERMISSIONS);</span>  
  3.             String[] permissionStrings = pack.requestedPermissions;  
  4.             showToast("权限清单--->" + permissionStrings.toString());  
  5.         } catch (NameNotFoundException e) {  
  6.             e.printStackTrace();  
  7.         }  

[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. permissionStrings 是一个这样的字符串数组  
[java] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. [android.permission.INTERNET,   
  2.          android.permission.READ_PHONE_STATE,   
  3.          android.permission.READ_CONTACTS,   
  4.          ……  
  5.          android.permission.READ_EXTERNAL_STORAGE,   
  6.          android.permission.READ_CALL_LOG,   
  7.          android.permission.WRITE_CALL_LOG]  

上一篇:First page