最新版本Sdk 23(andriod 6.0)以上,对于危险权限,需要用户手动申请。

危险权限

8345fe1af5a4

注意:扫描wifi需要定位权限,因为需要确定wifi的搜索位置。

dangerous permissions运行时的权限申请主要用到如下几个API。

Context.checkSelfPermission(String permission) 检查是否被授予了某个权限

Activity.requestPermissions(String[] permissions, int requestCode) 申请一组权限。requsetCode是针对onRequstPermissionResult方法而言的。

Activity.shouldShowRequestPermissionRationale(String permission) 判断是否需要显示申请此权限的原因,在应用第一次申请某个权限,或者用户对该权限请求授权界面选择了不再显示时此方法返回false,否则返回true。

Activity.onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) 权限申请结果回调

这四个都是从Android 6.0系统 (API Level 21)才开始有的new API,因此使用前都需要判断当前系统的版本是否是Android 6.0以上。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐