#58 Android 12 Developer Preview 1
日本時間2021年2月19日の早朝にAndroid 12 Developer Preview 1がリリースされました。
公式サイトはこちらです。
新機能
こちらの内容のサマリーです。
コンテンツ受け取り用のAPI
公式ドキュメントはこちらです。
View
クラス用にOnReceiveContentListener
というインターフェースが追加されています。今まではアクション毎にリスナーをセットしたりしていましたが、Android
12からはOnReceiveContentListener
1箇所で受け取れるようになります。
互換性のあるメディアのトランスコーディング
動画再生アプリ用の新機能です。もし、再生アプリが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フィールドが取得可能のようです。
- BRAND
- DEVICE
- MANUFACTURER
- MODEL
- PRODUCT
接続に関するもの
Wi-Fi Aware(NAN - Neighbor Awareness Networking)の改善
いくつか改善が入っています。
-
onServiceLost()
を使って、見つけたサービスがロストしたときの処理が書けるようになります。 - 複数のデータパス(NANデータパス)を設定する際のやり方がより効率的になります。
-
WifiAwareManager.getAvailableAwareResources()
を使って、 Wi-Fi awareサービスにおける利用可能なリソースの情報を取得できるようになります。