使用 SDK 扩展,进一步简化开发流程
作者 / 软件工程师 Anton Hansson
模块化系统组件
https://source.android.google.cn/docs/core/ota/modular-system?hl=zh-cn
加快 API 和功能的引入速度
博文
推出首个 Android 隐私沙盒 Beta 版
http://developer.android.google.cn/design-for-safety/privacy-sandbox/program-overview?version=beta
官方文档: 进一步了解相关内容
http://developer.android.google.cn/design-for-safety/privacy-sandbox/program-overview?version=beta
向后兼容性
照片选择器 API
https://developer.android.google.cn/training/data-storage/shared/photopicker
检查 API 的可用性
ACTION_PICK_IMAGES
https://developer.android.google.cn/reference/android/provider/MediaStore#ACTION_PICK_IMAGES
fun isPhotoPickerAvailable(): Boolean {
return SdkExtensions.getExtensionVersion(VERSION_CODES.R) >= 2
}
或者,您也可以通过 Build.VERSION.SDK_INT 检查版本,如下所示:
fun isPhotoPickerAvailable(): Boolean {
return Build.VERSION.SDK_INT >= 33
}
这种检查依然是安全且准确的,但此函数将会在 API 现已可用的部分设备上返回 False。因此,在检查 API 的可用性时,SDK_INT 检查并非最佳选择,扩展版本检查更为合适。此外,SDK_INT >= 33 的所有设备上的 R 扩展版本 >= 2,但对于某些 SDK_INT < 33 的设备而言,其 R 扩展版本 >= 2。
fun isAdServicesAvailable(): Boolean {
return SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES) >= 4
}
为了方便开发者,我们还将扩展 Jetpack,使其更易与扩展版本搭配使用。例如,您可以使用 Jetpack 库函数来检查 PhotoPicker 的可用性,该函数对条件版本检查进行了抽象化处理。我们希望发布更多 Jetpack 库 (如在隐私沙盒中发布隐私保护 API),以便帮助开发者正确使用通过 Extension SDK 发布的 API。
Jetpack 库函数来检查 PhotoPicker 的可用性
https://developer.android.google.cn/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia#isPhotoPickerAvailable()
工具支持
深入了解 SDK 扩展
隐私沙盒 Beta 版
http://developer.android.google.cn/design-for-safety/privacy-sandbox/program-overview?version=beta
照片选择器
https://developer.android.google.cn/training/data-storage/shared/photopicker
SDK 扩展
推荐阅读