Android适配8.0遇到的一些坑

简介: 刚进新公司的时候华为市场对APP提示的是不兼容android8.0,查看了下原代码发现项目基本还停留在6.0的适配上,所以就大致适配了7.0、8.0,先记录几个主要的问题点,后续更新。

刚进新公司的时候华为市场对APP提示的是不兼容android8.0,查看了下原代码发现项目基本还停留在6.0的适配上,所以就大致适配了7.0、8.0,先记录几个主要的问题点,后续更新。首先必须的把SdkVersion提升到26把(华为市场提示不兼容8.0也是这个原因),然后google了一圈。

大致google+百度了一大圈,基本锁定会导致程序异常+功能失效的几个点。

①:通知(会收不到通知)

②:悬浮窗(7.0、8.0)(会崩溃)

③:自适应图标(图标终于有所关注)


一:通知渠道

Android O版本对通知做了规范性的控制,强制用户在发送通知的时候,对通知进行系统性的管理,新增了channel渠道功能,貌似Android P版本对与这一点也做了强调,使用户能够更好的管理通知,做到有目的性的屏蔽通知。下面上相关性的代码

NotificationChannel mChannel =new NotificationChannel("channel_01","消息推送", NotificationManager.IMPORTANCE_DEFAULT);

notificationManager.createNotificationChannel(mChannel);//创建一个通知渠道

其他和原设置一样即可。

二:悬浮窗

在一些广播中需要弹出对话框的应用场景,没有依附的activity,这个时候就可以用悬浮窗,相关适配以及源码有注释自行查看。附申请权限源码

悬浮窗dialog
另外需在AndroidManifest.xml文件中加入"SYSTEM_ALERT_WINDOW"权限

三:自适应图标 

Android O版本对图标做了修改,总体上来讲使Android APP从桌面就开始高大上起来了,加入了一些列动画,详细的可以看这篇博文。

Android O自适应图标

        另外:设计到一些需要访问清单文件,或者是pakageManager类的时候,适配8.0需要加入新的权限,安装权限。

        <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>


以上基本就是8.0中着重需要注意的点,其实通知渠道设置在7.0中就已经开始出现,如果适配了7.0的话,8.0基本也已经可以了。如果还出现8.0崩溃的情况,看看崩溃日志应该都可以解决了,还是不行的话请私发我崩溃信息。对此再做出更新。

最后给大家介绍一款比较好的申请权限的第三方库,强烈推荐。一句话解决问题并且可以直接跳转到相关权限授权页,适配率比较高。简洁!

一句话解决6.0权限申请

相关文章
|
4月前
|
Web App开发 移动开发 小程序
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,
"项目中mpaas升级到10.2.3 适配Android 14之后 app中的H5以及小程序都访问不了,显示“网络不给力,请稍后再试”,预发内网版本不能使用,线上版本可以正常使用,这个是什么原因啊,是某些参数没有配置吗,还是说是一些参数改错了?
93 2
|
11月前
|
Android开发
Android 全屏适配刘海机型
Android 全屏适配刘海机型
156 0
|
16天前
|
调度 Android开发 UED
Android经典实战之Android 14前台服务适配
本文介绍了在Android 14中适配前台服务的关键步骤与最佳实践,包括指定服务类型、请求权限、优化用户体验及使用WorkManager等。通过遵循这些指南,确保应用在新系统上顺畅运行并提升用户体验。
27 6
|
2月前
|
IDE API Android开发
安卓与iOS开发环境的差异及适配策略
在移动应用开发的广阔舞台上,Android和iOS两大操作系统各据一方,各自拥有独特的开发环境和工具集。本文旨在深入探讨这两个平台在开发环境上的关键差异,并提供有效的适配策略,帮助开发者优化跨平台开发流程。通过比较Android的Java/Kotlin和iOS的Swift/Objective-C语言特性、IDE的选择、以及API和系统服务的访问方式,本文揭示了两个操作系统在开发实践中的主要分歧点,并提出了一套实用的适配方法,以期为移动开发者提供指导和启示。
|
1月前
|
安全 Java Android开发
Android 14适配Google play截止时间临近,适配注意点和经验
本文介绍了Android 14带来的关键更新,包括性能优化、定制化体验、多语言支持、多媒体与图形增强等功能。此外,还强调了适配时的重要事项,如targetSdkVersion升级、前台服务类型声明、蓝牙权限变更等,以及安全性与用户体验方面的改进。开发者需按官方指南更新应用,以充分利用新特性并确保兼容性和安全性。
108 0
|
4月前
|
编解码 人工智能 测试技术
安卓适配性策略:确保应用在不同设备上的兼容性
【4月更文挑战第13天】本文探讨了提升安卓应用兼容性的策略,包括理解平台碎片化、设计响应式UI(使用dp单位,考虑横竖屏)、利用Android SDK的兼容工具(支持库、资源限定符)、编写兼容性代码(运行时权限、设备特性检查)以及优化性能以适应低端设备。适配性是安卓开发的关键,通过这些方法可确保应用在多样化设备上提供一致体验。未来,自动化测试和AI将助力应对设备碎片化挑战。
544 4
|
4月前
|
Android开发
Android保存图片到相册(适配android 10以下及以上)
Android保存图片到相册(适配android 10以下及以上)
102 1
|
4月前
|
Android开发
Android RIL 动态切换 4G 模块适配
Android RIL 动态切换 4G 模块适配
139 0
|
存储 5G API
Android 11 来袭,一起来看看怎么适配(三)
Android 11 来袭,一起来看看怎么适配
|
安全 Shell 测试技术
Android 11 来袭,一起来看看怎么适配(二)
Android 11 来袭,一起来看看怎么适配