发表于: 2017-02-17 22:08:45

2 919


今天完成的事情: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的话,就被授权,否则就没有

明天计划的事情: 看下多线程的内容
遇到的问题:
收获:


返回列表 返回列表
评论

    分享到