Android进阶之路

您所在的位置:网站首页 如何修改安卓app里的数据来源设置权限 Android进阶之路

Android进阶之路

2024-07-08 20:46| 来源: 网络整理| 查看: 265

以前没太注意这样的场景,没想到竟然遇到了,篇内的解决方式感觉太暴力,效果也不好,先做记录吧

在应用内跳转应用设置,动态变更权限后出现了不一样的场景

开启权限返回app时,可正常使用;关闭权限返回app时,app会崩溃,同步会出现白屏 在这里插入图片描述

需求场景权限判断跳转 - 权限设置权限变更6.0 权限适配权限设置 开、关开关(核心点)

需求场景

在项目中有这样一个权限需求,样式如下

在这里插入图片描述

权限判断

首先判断是否有对应权限,有则显示已开启,反之为未开启

/** * 判断是否有相机权限 * */ fun getPermissions():Boolean{ val pm = packageManager return PackageManager.PERMISSION_GRANTED == pm.checkPermission(Manifest.permission.CAMERA, getPackageName(this)) //"com.jsmedia.jsmanager" } /** * 判断是否有定位权限 * */ fun getLocPermissions():Boolean{ val pm = packageManager return PackageManager.PERMISSION_GRANTED == pm.checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, getPackageName(this)) } /** * [获取应用程序版本名称信息] * @param context * @return 当前应用的版本名称 */ @Synchronized fun getPackageName(context: Context): String? { try { val packageManager = context.packageManager val packageInfo = packageManager.getPackageInfo( context.packageName, 0 ) Log.e("tag",packageInfo.packageName) return packageInfo.packageName } catch (e: Exception) { e.printStackTrace() } return null } 跳转 - 权限设置 /** * 跳转应用权限设置页面(系统) * */ private fun toSelfSetting(context: Context) { val mIntent = Intent() mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) if (Build.VERSION.SDK_INT >= 9) { mIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS") mIntent.setData(Uri.fromParts("package", context.packageName, null)) } else if (Build.VERSION.SDK_INT


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3