targetSdk从26升级到28

参考文档:
1、行为变更:以 API 29 及更高级别为目标平台的应用  |  Android 开发者  |  Android Developers

2、AndroidP新特性适配处理 -

实际操作内容:

1、透明主题的activity不能主动设置方向。需要删除android:screenOrientation="portrait"。

im相关的有

IMWebShareActivity

项目里的透明主题,如下,有2个主题需要im组自行修改

@style/TransparentTheme

@style/TranslucentStatusTheme

@style/Theme_Bbs_Window_Up_Down

@style/Middle_AppDialogTheme

@style/PushTransparentTheme  kidpush库需要im修改

@style/ShareTheme

@style/animation_image

@style/Theme_Bbs_Transparent

@style/Theme_Bbs_Transparent_NoAnim

I@style/MShareTheme kidim库需要im修改

@style/animation_image

@style/translucent

2、使用activity之外的context启动activity时,需要加上Intent.FLAG_ACTIVITY_NEW_TASK

这个项目里是ok的

3、前台服务需要添加权限

4、限制静态广播的接收,其实这里并不是不能用静态广播,而是使用时要明确包名等信息即可

具体的解决办法参考

Android8.0 静态receiver接收不到隐式广播_明朗晨光的专栏-CSDN博客

AlarmReceiver相关的修改了,im相关的有 kidpush库里的还未修复


5、Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。 即默认禁掉http请求

项目里已经加了

6、非 SDK 接口访问限制,限制了反射的使用

对于已有的反射代码,加入Exception控制。对于有更好替代方法的场景,加入新的方法。这点还没有完全做完。

这里需要告诉测试那些加了代码的地方

实际操作可以参考

适配Android P之非SDK接口限制的排查方法 -

这里重点讲到一种绕过P限制的方法,参考下面

突破Android P非SDK API限制的几种代码实现 - 掘金

绕过反射的分析

深入源码分析non-sdk并绕过Android 9.0反射限制_移动开发_XXOOYC的专栏-CSDN博客

简单绕过反射

绕过 Android P以上非公开API反射的限制 -

1)viewpager通过反射修改了自动滑动的速度 

2)修复7.1.1的toast的bug,官方的方案是加一个try catch

3)所有的反射相关的代码已经做了TODO标记

7、刘海屏适配

已经适配了

8、sensor和麦克风后台管控

项目里目前 小管家模块用到 sensor和麦克风,需要IM组处理

9、设备识别码

通过Build.SERIAL不再能够获取到真实数据,Build.serial:unknown,需要通过Build.getSerial()获取。同时需要用户授权READ_PHONE_STATE权限。

你可能感兴趣的:(targetSdk从26升级到28)