摘要:Android 14尚未申请QUERY,但全新特性展望令人期待。该版本将带来一系列创新功能和改进,提升用户体验和开发者效率。具体新特性尚待官方公布,但预计将在系统性能、界面设计、安全性等方面有所突破。Android 14的推出将为用户带来更加智能、便捷、安全的移动生活体验。
关于您遇到的问题,甲方客户在适配Android 14时遇到了一个弹出框,提示应用正在请求读取应用列表权限,尽管未申请QUERY_ALL_PACKAGES权限,这种情况对于小贷或其他金融应用来说尤为棘手,因为Applist数据对风控至关重要。
遇到的问题定位:
我们的甲方客户在适配Android 14时遇到了这个问题,由于我们没有申请相关权限,问题可能出在代码上,项目中初始化了许多第三方库和自研库,其中某些代码可能触发了Google的安全机制,为了定位问题的根源,我们可以尝试逐个移除项目中的库,以观察问题的变化,我们发现两个底层库在运行时触发了应用列表权限申请弹框,这两个库都调用了getInstalledPackages方法来获取某些应用的信息,弹框的出现可能是由于在Android 14手机版本中,对于未声明QUERY_ALL_PACKAGES权限却执行相关操作的应用,系统会进行干预,显示权限请求对话框,这可能是系统对未授权行为的一种保护措施。
解决方案尝试:
问题原因猜测
在Android 14中,系统可能加强了对应用权限的管理,对于未声明QUERY_ALL_PACKAGES权限而尝试获取应用列表的应用,系统会弹出权限请求对话框,提示用户该应用正在尝试进行可能侵犯隐私的操作。
解决方案
方案一:尝试通过反射来调用目标类和方法获取所需信息,反射调用是一种绕过正常权限检查的方法,但存在风险和不稳定性,需要仔细测试并探索其他解决方案以确保应用的稳定性和用户体验。
方案二:考虑申请QUERY_ALL_PACKAGES权限,尽管当前未申请该权限,但考虑到Applist数据对风控的重要性,可以考虑向用户解释并申请此权限。
方案三:优化代码逻辑,避免触发系统的安全机制,可以检查Android版本,对于Android 14及以上版本采取特殊的处理逻辑,避免调用可能触发权限请求的敏感方法。
建议开发者密切关注Google的官方文档和更新,以了解最新的权限政策和最佳实践,确保应用能够顺利适配新的系统版本。
还没有评论,来说两句吧...