动态申请权限允许后fragment崩溃
来源:互联网 发布:平面设计网络课程 编辑:程序博客网 时间:2024/05/19 15:39
前言
前几天做一个小程序,基于Android O,miniSDK版本是Android 5.0
一开始用的Android O的虚拟机和7.1.2的一加3测试没问题
但是发布之后,小伙伴说Android M(6.0) 不给权限死,给了权限反而闪退(我程序启动先加载一个Fragment,而这个fragment需要权限,所以我就设定给了权限加载,不给权限停在一个空白页面啥都不做,所以导致不给权限没啥事,给了权限反而崩溃)
后来发现这是因为在Android M中,给定权限使用以下代码:
if(ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_CALENDAR) ==PackageManager.PERMISSION_DENIED){ ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE},res); }
权限请求操作之后去下面代码处理:
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { switch (requestCode) { case 0: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { Log.e("JHH","daozhele"); device_fragment = new Device_Fragment(this); fragmentTransaction.add(R.id.fragment_main,device_fragment); old_fragment = device_fragment; fragmentTransaction.commit(); } } } }
后来发现fragment加载提交报错,原因是状态丢失:
把commit代码改成下面的就好了 fragmentTransaction.commitAllowingStateLoss();
阅读全文
0 0
- 动态申请权限允许后fragment崩溃
- android拨打电话崩溃6.0以上实时动态权限申请
- IOS 申请相机权限崩溃
- android 6.0动态权限申请以及拒绝后的控制
- android 动态申请权限
- Android 动态申请权限
- android 动态申请权限
- 动态申请权限
- Android动态权限申请
- Android动态申请权限
- 动态申请 相机权限
- Android动态申请权限
- android动态申请权限
- 动态申请权限
- android 动态权限申请
- 动态申请权限
- Android动态权限申请
- 动态权限申请
- SELinux app权限配置
- sap SLD和solution manger 的联系
- jquery操作radio和checkbox
- Web界面检查点和测试原则
- NSUserDefaults
- 动态申请权限允许后fragment崩溃
- 学生管理系统
- Spring Cloud入门三- Zuul作api-gateway
- python-安装pip以及setuptools
- 鼠标拖拽窗口效果(不允许拖出屏幕的可视区域)
- 前台控制开始日期小于结束日期
- java从FTP下载文件功能
- 5个月ReactNative感受
- linux 下配置opencv3.3.0及 opencv_contrib