转载请注明出处:
http://blog.youkuaiyun.com/user11223344abc?viewmode=contents
出自【蛟-blog】
0.介绍
运行时权限申请,只针对6.0+的手机。也就是说6.0以下的手机是不会有这要求的。
当申请发出之后会出现下图:

本文就以打电话为例。
1.一点点的考虑
- 啥时候申请
- 申请之后被拒绝怎么办
- 权限检测
下面直接贴出API,有了API,相信大家知道怎么做了。
2.API:
- 首先,你需要按照以前的方式在清单文件内添加你需要的权限,否则,接下来的步骤,你将会找不到这个权限的常量
<uses-permission android:name="android.permission.CALL_PHONE" />
- 检测
if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
...
}}
- 申请
ActivityCompat.requestPermissions(getActivity(),
new String[]{Manifest.permission.CALL_PHONE},
10086);
- Activity/Fragment内的回调(非必要处理)
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(requestCode == 10086){
//...do something
}
}
3.关于扩展:
一般来说,像权限申请这块,是可以封装到项目基类里的,还有一些比较高级的封装,可以脱离控件的限制在Adapter等其他地方直接请求权限,后面,我再把相关封装的链接补在此处。
424

被折叠的 条评论
为什么被折叠?



