Mokelab Blog

#58 Android 12 Developer Preview 1

日本時間2021年2月19日の早朝にAndroid 12 Developer Preview 1がリリースされました。

公式サイトはこちらです。

新機能

こちらの内容のサマリーです。

コンテンツ受け取り用のAPI

公式ドキュメントはこちらです。 Viewクラス用にOnReceiveContentListenerというインターフェースが追加されています。今まではアクション毎にリスナーをセットしたりしていましたが、Android 12からはOnReceiveContentListener1箇所で受け取れるようになります。

互換性のあるメディアのトランスコーディング

動画再生アプリ用の新機能です。もし、再生アプリがHEVCフォーマットに対応していなかった場合、Android OSが自動でAVCフォーマットに変換してアプリに渡してくれるといった動作をしてくれるようになります。

動画再生アプリ側で、次のようなリソースファイル(media_capabilities.xml)を作ります(公式サイトより引用)

<?xml version="1.0" encoding="utf-8"?>
  <media-capabilities xmlns:android="http://schemas.android.com/apk/res/android">
    <format android:name="HEVC" supported="true"/>
    <format android:name="HDR10" supported="false"/>
    <format android:name="HDR10Plus" supported="false"/>
</media-capabilities>

HDR10やHDR10Plusな動画の場合、Android OSがAVC SDRにトランスコードしてくれます(動作確認してるわけではないですが。。。)。

そして、AndroidManifest.xmlのapplication要素に、次の項目を追加します(こちらも公式サイトより引用)。

<application>
  <property
    android:name="android.media.PROPERTY_MEDIA_CAPABILITIES"
    android:resource="@xml/media_capabilities" />
</application>

AVIFな画像のサポート

次世代の画像フォーマットと呼ばれているAVIF(AV1 Image File Format)がサポートされます。画像を配信しているサーバー側の対応が必要となるかもしれません。

オーディオからのhaptic feedback(触覚フィードバック)の生成

ゲームの体験をよりよくするため、オーディオからhaptic feedbackが生成できるようになります。詳しくはこちらをご覧ください。

NDKでアニメGIFとアニメWebPのサポート

NDKのImageDecoder APIがアニメGIFとアニメWebPのすべてのフレームとタイミングデータ(アニメGIF/WebP詳しい方、これが何か教えてください。。。)をデコードするようになりました。Android 11以前では、最初のフレームのみデコードしていたようです。

セキュリティ

非DPC(Device Policy Controller)アプリでのデバイスプロパティの検証

これまではKeymaster 4.0以上を使っているデバイス管理者のみが検証できましたが、Android 12からはsetDevicePropertiesAttestationIncluded()を使って検証できるようになります。

次の5フィールドが取得可能のようです。

接続に関するもの

Wi-Fi Aware(NAN - Neighbor Awareness Networking)の改善

いくつか改善が入っています。

本サイトではサービス向上のため、Google Analyticsを導入しています。分析にはCookieを利用しています。