前言
Android 12平台包含可能影响应用程序的行为更改。以下行为更改适用于在Android 12上运行的所有应用程序,而不考虑targetSdkVersion。你应该测试你的应用程序,然后根据需要对其进行修改,以便在适用的情况下正确地支持这些应用程序
一、用户体验
1. 前台服务通知UX延迟
为了在android12上为短期运行的前台服务提供简化的体验,系统可以将某些前台服务的前台服务通知的显示延迟10秒。此更改使短期任务有机会在其通知出现之前完成。
如果前台服务至少具有以下特征之一,则系统会在服务启动后立即显示相关通知:
- 该服务与包含操作按钮的通知相关联。
- 该服务的foregroundServiceType为mediaPlayback、mediaProjection或phoneCall。
- 该服务提供与电话呼叫、导航或媒体播放相关的用例,如通知的category属性中所定义。
- 设置通知时,服务已通过调用setShowForeGround立即()退出行为更改
2. 手势导航的沉浸式模式改进
Android 12简化了沉浸式模式,使得手势导航更容易,并且与观看视频和阅读书籍等活动的其他体验更加一致。
二、 隐私
1. Netlink MAC限制
android12扩展了受android11引入的MAC地址可用性变化影响的应用程序的范围。在Android 12上,无论目标SDK版本如何,这些更改都会影响所有应用程序。
相关API返回空值或占位符值,具体取决于应用程序的目标SDK版本:
- 如果你的应用程序针对Android 12,API将返回null。
- 如果您的应用程序针对Android 11或更低版本,API将返回以下占位符值:02:00:00:00:00。
特别是,如果您的应用程序在运行Android 12的设备上调用getHardwareAddress(),Logcat中将显示以下消息:
CompatibilityChangeReporter: Compat change id reported: 170188668;
如果你的应用目标是Android 12,你可以通过禁