以下のコードサンプルを利用して、Android 8.0(API レベル 26)の機能と API について学習しましょう。Android Studio でサンプルをダウンロードするには、[File] > [New] > [Import Samples] メニュー オプションを選択します。
注: 以下のダウンロード可能なプロジェクトは、Gradle と Android Studio でご利用いただくために提供しています。
自動入力フレームワーク
AutofillFramework のサンプル - このサンプルでは、Android 8.0(API レベル 26)で導入された自動入力フレームワークの使用例を紹介しています。サンプルには、自動入力するクライアント アクティビティの実装と、それらのアクティビティに自動入力データを提供可能なサービスが含まれています。
ピクチャー イン ピクチャー モード
PictureInPicture のサンプル - このサンプルでは、ハンドヘルド デバイスでピクチャー イン ピクチャー モードを使用する基本的な方法を紹介しています。動画の再生を開始した後、ピクチャー イン ピクチャー モードに入っても再生を続けます。ピクチャー イン ピクチャー モードの画面には、動画を一時停止または再開するアクション アイテムが表示されます。
ダウンロード可能なフォント
DownloadableFonts - このサンプルでは、Android 8.0(API レベル 26)で導入された「ダウンロード可能なフォント」機能の使用方法を紹介しています。アプリはこの機能を使用して、フォントをバンドルまたはダウンロードする代わりに、特定のフォントをプロバイダにリクエストできます。つまり、フォントをアセットとして個別にバンドルする必要がなくなります。
EmojiCompat - このサンプルでは、絵文字互換性サポート ライブラリの使用例を紹介しています。このライブラリを使用すると、アプリにない絵文字を豆腐(□)で表示することを避けられます。バンドルされた絵文字フォントとダウンロード可能な絵文字フォントのどちらでも使用できます。このサンプルは、両方の使用方法を示します。
バックグラウンドでの実行の制限
Bluetooth 広告のサンプル - このサンプルは、Android 8.0(API レベル 26)のバックグラウンドでの実行の制限に準拠するように更新されました。サンプルでは以前は、Bluetooth LE 広告をブロードキャストするために使用するバックグラウンド サービスを作成していましたが、現在はこのプロセスが確実に実行されるよう、フォアグラウンド サービスとして開始されるようになっています。
GitHub で入手: Java
バックグラウンド位置情報の制限
LocationUpdatesPendingIntent のサンプル - PendingIntent
を使用して現在地の更新情報をリクエストする方法を示しています。Android 7.x(API レベル 24 ~ 25)を対象とするアプリを Android 8.0(API レベル 26)で実行する場合、デベロッパーは PendingIntent.getService()
または PendingIntent.getBroadcast()
を使用できます。Android 8.0 を対象とするアプリでは、バックグラウンドで開始されたサービスに対する制限により、PendingIntent.getService()
を使用できないため、Android 8.0 をターゲットとする場合は、PendingIntent.getBroadcast()
を使用する必要があります。
GitHub で入手: Java
LocationUpdatesForegroundService のサンプル - アプリのアクティビティを参照できない場合にフォアグラウンド サービスを使用して現在地の更新情報を取得する方法を紹介しています。アプリが Android 8.0(API レベル 26)で実行されている場合、バックグラウンド アップデートは 1 時間に数回のみに制限されます。フォアグラウンド サービスを使用すると、アップデートの受信頻度を上げることができます。
GitHub で入手: Java