Android M动态权限管理
来源:互联网 发布:怎么下载excel软件 编辑:程序博客网 时间:2024/06/14 10:08
Android M动态权限管理。下面是google对Android6.0以上的运行时检查权限的部分说明:
Beginning in Android 6.0 (API level 23), users grant permissions to apps while the app is running, not when they install the app. This approach streamlines the app install process, since the user does not need to grant permissions when they install or update the app. It also gives the user more control over the app's functionality; for example, a user could choose to give a camera app access to the camera but not to the device location. The user can revoke the permissions at any time, by going to the app's Settings screen.
在Activity中的onCreate调用handleAfterPermission()权限进行处理就可以了。
public static final int REQUEST_PERMISSION_CODE = 100; private void checkInitPermissions(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { String[] permissions = new String[]{ //放入需要授予的权限,例如需要写入的权限 Manifest.permission.WRITE_EXTERNAL_STORAGE }; if (ContextCompat.checkSelfPermission(this, permissions[0]) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[0])){ ActivityCompat.requestPermissions(this, permissions, REQUEST_PERMISSION_CODE); }else{ ActivityCompat.requestPermissions(this, permissions, REQUEST_PERMISSION_CODE); } } } else { handleAfterPermissions(); } } private void handleAfterPermissions(){ FileUtil.initAppDir(); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == REQUEST_PERMISSION_CODE){ handleAfterPermissions(); } }
阅读全文
1 0
- Android M动态权限管理
- Android M权限管理
- Android M权限管理
- android M 动态申请权限
- Android M 动态权限获取
- Android M 动态权限获取
- Android M 动态权限获取
- Android M 动态权限获取
- Android M Permissions 权限管理
- Android M权限管理(续)
- Android 动态权限管理
- Android动态权限管理
- Android M动态获取权限示例
- Android M 的动态权限解决方案
- Android M 运行时权限管理
- android 6.0权限动态管理
- Android 6.0动态权限管理
- Android 6.0 动态权限管理
- linux 中文文件名乱码
- C语言中文件的读取和写入
- SpriteRenderer.sprite
- 几个常用的Python库
- 如何快速转载CSDN中的博客
- Android M动态权限管理
- wifi驱动的ARM平台移植问题<error: unknown field 'testmode_cmd' specified in initializer>
- Python的静态方法和类成员方法
- leetcode 352. Data Stream as Disjoint Intervals
- Java集合框架源码解析-HashSet及LinkedHashSet
- 关于IO
- [LeetCode]2.Add Two Numbers
- csv文件中字符串替换(csv换行符错误使用造成PHP读取异常)
- AS混淆之transformClassesAndResourcesWithProguardForRelease