发表于: 2017-02-17 22:08:45
2 918
今天完成的事情:1.用Fragment做了个简单的新闻的例子,兼容平板和手机
2.看了Android 6.0 加入的运行时权限
Android6.0之后将权限分为了两类:普通权限和危险权限。普通权限系统会帮我们自动授权。危险权限
需要用户进行手动授权。危险权限包括9组24个权限,主要为关于日历,相机,通讯录,定位,录音,通话,短信,内存卡等涉及到用户隐私的一些权限。
在6.0或更高版本的系统上,如果没有通过代码手动申请以上危险权限的话,系统是默认拒绝这些权限的。功能无法使用。
申请的代码如下:
第一步:判断用户是否已经授权应用该权限
ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.CALL_PHONE) ==PackageManager.PERMISSION_GRANTED;
该方法有两个参数:MainActivity.this 一个context,指明检查权限的组件
Manifest.permission. CALL_PHONE :所检查的权限名
方法返回一个int值,为该权限的状态,已授权还是未授权。PackageManager.PERMISSION_GRANTED该常量值为已授权状态。
第二步:如果该权限未被授权,则申请该权限。
requestPermissions(MainActivity.this,new String[]{Manifest.permission.CALL_PHONE},1})
1为请求码。
执行完该方法,就会有一个弹窗让用户选择是否同意应用使用该权限
第三步:执行权限申请结果的回调
重写onRequsetPermissionResult(int requestCode,String[]permissions,int[]grantResults)方法。
申请结果就保存在int数组中,取出来,如果是PackageManager.PERMISSION_GRANTED的话,就被授权,否则就没有
明天计划的事情: 看下多线程的内容
遇到的问题:
收获:
评论