赞
踩
翻译自Google 开发者平台
行为更改:所有应用
Android 14平台包含可能影响应用程序的行为更改。以下行为更改适用于在Android 14上运行的所有应用程序,无论targetSdkVersion如何。你应该测试你的应用程序,然后根据需要进行修改,以适当地支持这些功能。
确保同时查看仅影响针对Android 14的应用程序的行为更改列表。
核心功能
默认情况下,计划精确报警被拒绝
精确警报用于用户意图通知,或用于需要在精确时间发生的操作。从Android 14开始,大多数新安装的针对Android 13和更高版本的应用程序不再预先授予SCHEDULE_EXACT_ALARM权限。默认情况下,该权限被拒绝。
了解有关调度精确报警权限的更改的更多信息。
缓存应用时,上下文注册的广播将排队
在Android 14上,当应用处于缓存状态时,系统可以将上下文注册的广播放置在队列中。这类似于Android12(API级别31)为异步绑定器事务引入的排队行为。清单声明的广播不排队,应用程序将从缓存状态中删除以进行广播传递。
当应用程序离开缓存状态(例如返回前台)时,系统会发送任何排队广播。某些广播的多个实例可以合并为一个广播。
应用程序只能杀死自己的后台进程
从Android 14开始,当你的应用程序调用killBackgroundProcesses()时,API只能杀死你自己应用程序的后台进程。
如果传入另一个应用程序的包名,此方法对该应用程序的后台进程没有影响,Logcat中将显示以下消息:
包名无效:com.example.anthrapp
您的应用程序不应使用killBackgroundProcesses()API,或试图影响其他应用程序的进程生命周期,即使是在较旧的操作系统版本上。Android的设计是将缓存的应用程序保留在后台,并在系统需要内存时自动关闭它们。如果你的应用程序不必要地杀死了其他应用程序,它可能会降低系统性能并增加电池消耗,这需要稍后重新启动这些应用程序,这比恢复现有的缓存应用程序需要更多的资源。
注意:第三方应用程序不可能改善Android设备的内存、功耗或热性能。您应该确保您的应用程序符合Google Play关于误导性声明的政策。
安全
最低可安装目标API级别
从Android 14开始,targetSdkVersion低于23的应用程序无法安装。要求应用程序满足这些最低目标API级别要求可以提高用户的安全性和隐私性。
恶意软件通常针对较旧的API级别,以绕过较新的Android版本中引入的安全和隐私保护。例如,一些恶意软件应用程序使用targetSdkVersion 22,以避免受到Android 6.0棉花糖(API级别23)于2015年引入的运行时权限模型的影响。Android 14的这一变化使恶意软件更难避免安全和隐私改进。尝试安装针对较低API级别的应用程序将导致安装失败,Logcat中显示以下消息:
INSTALL_FAILED_DEPRECATED_SDK_VERSION:应用程序包必须至少以SDK版本23为目标,但找到7
在升级到Android 14的设备上,targetSdkVersion低于23的任何应用程序都将继续安装。
如果需要测试针对较旧API级别的应用程序,请使用以下ADB命令:
adb安装--绕过低目标sdk块FILENAME.apk
媒体所有者程序包名称可能会被编辑
媒体存储支持对OWNER_PACKAGE_NAME列的查询,该列指示存储特定媒体文件的应用程序。从Android 14开始,除非至少满足以下条件之一,否则该值将被编辑:
存储媒体文件的应用程序具有其他应用程序始终可见的程序包名称。
查询媒体存储的应用程序请求QUERY_ALL_PACKAGES权限。
警告:使用QUERY_ALL_PACKAGES权限必须遵守Google Play策略。
了解更多有关Android如何为隐私目的过滤包可见性的信息。
用户体验
对用户体验不可撤销通知方式的更改
如果你的应用程序向用户显示不可撤销的前台通知,Android 14已经改变了行为,允许用户撤销此类通知。
此更改适用于通过Notification.Builder#setOngoing(true)或NotificationCompat.Builder#setIngoing(true)设置Notification.FLAG_ONGONG_EVENT来阻止用户取消前台通知的应用程序。FLAG_ONGOING_EVENT的行为已更改,以使用户实际上可以取消此类通知。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。