使用下面的代码示例了解 Android 8.0(API 级别 26)的功能和 API。要在 Android Studio 中下载这些示例,请选择文件 > 新建 > 导入示例菜单选项。
注意:这些可下载项目是为与 Gradle 和 Android Studio 结合使用而设计的。
自动填充框架
AutofillFramework 示例 - 此示例演示了 Android 8.0(API 级别 26)中引入的自动填充框架的用法。它包括希望被自动填充的客户端 Activity 的实现,以及一个可以向这些 Activity 提供自动填充数据的 Service。
画中画模式
PictureInPicture 示例 - 此示例演示了适用于手持设备的画中画模式的基本用法。该示例会播放视频。当应用进入画中画模式时,视频会继续播放。在画中画屏幕上,应用会显示一个操作项用于暂停或恢复视频。
可下载字体
DownloadableFonts 示例 - 此示例演示了如何在 Android 8.0(API 级别 26)中引入的可下载字体特性。可下载字体允许应用从提供商请求特定字体,而无需自行捆绑或下载字体。这意味着无需将字体独立捆绑为资产。
EmojiCompat 示例 - 此示例演示了 Emoji 兼容性支持库的用法。您可以使用此库防止应用显示豆腐状 (□) 的缺失表情符号字符。您可以使用捆绑的或可下载的表情符号字体。此示例展示了这两种用法。
后台执行限制
蓝牙广告示例 - 蓝牙广告示例已更新,以符合 Android 8.0(API 级别 26)的后台执行限制。此示例先前创建了一个后台服务,用于广播蓝牙低功耗广告;现在该进程作为前台服务启动以确保执行。
在 GitHub 上获取: Java
后台位置限制
LocationUpdatesPendingIntent 示例 - 演示如何使用 PendingIntent
请求位置更新。对于目标 API 级别为 Android 7.x(API 级别 24-25)但在 Android 8.0(API 级别 26)上运行的应用,开发者可以使用 PendingIntent.getService()
或 PendingIntent.getBroadcast()
。对于目标 API 级别为 Android 8.0 的应用,由于对在后台启动的服务施加了限制,PendingIntent.getService()
不起作用。当目标 API 级别为 Android 8.0 时,开发者应使用 PendingIntent.getBroadcast()
。
在 GitHub 上获取: Java
LocationUpdatesForegroundService 示例 - 演示如何在应用 Activity 不可见时使用前台服务获取位置更新。对于在 Android 8.0(API 级别 26)上运行的应用,后台更新每小时只能进行几次。使用前台服务是一种接收更频繁更新的方式。
在 GitHub 上获取: Java