Android 7.1 アップデートでは、ユーザーとデベロッパー向けのさまざまな新機能が導入されています。このドキュメントでは、デベロッパー向けの新機能について説明します。
アプリのショートカット
新しいショートカット機能を使用すると、ユーザーをランチャーからアプリ内のキー操作に直接誘導できます。ユーザーは、アプリのランチャー アイコンを長押ししてアプリのショートカットを表示し、ショートカットをタップすると、関連する操作に移動できます。これらのショートカットを使用すると、ユーザーがアプリを起動する前にアプリの機能が表示され、ユーザーを引き付けることができます。
各ショートカットは、特定のアクションまたはタスクを起動するインテントを参照します。また、インテントとして表現できる任意のアクションのショートカットを作成できます。たとえば、新しいテキスト メッセージの送信、予約、動画の再生、ゲームの継続、地図上の位置の読み込みなど、さまざまなインテントを作成できます。
アプリのショートカットは、APK 内のリソース ファイルに追加して静的に作成することも、実行時に動的に追加することもできます。静的ショートカットは一般的な操作に適しており、動的ショートカットではユーザーの設定、動作、場所などに基づいて操作をハイライト表示できます。アプリごとに最大 5 つのショートカットを提供できます。ただし、ランチャー アプリによっては、アプリに登録したショートカットがすべて表示されるわけではありません。
アプリでショートカットを追加すると、Pixel ランチャー(Pixel デバイスのデフォルト ランチャー)、Now ランチャー(Nexus デバイスのデフォルト ランチャー)、サポートを提供するその他のランチャーなど、ショートカットをサポートするすべてのランチャーで使用できるようになります。
どのアプリでもショートカットを作成でき、どのランチャー アプリでもショートカットのサポートを追加できます。Android 7.1 には、アプリがショートカットを登録するための API と、登録済みのショートカットを読み取るためのランチャーが用意されています。詳しくは、アプリのショートカットに関するデベロッパー向けドキュメントをご覧ください。
イメージ キーボードのサポート
多くの場合、ユーザーは絵文字、ステッカー、その他の種類のリッチ コンテンツを使用してやり取りします。以前のバージョンの Android では、ソフト キーボード(インプット メソッド エディタ(IME)ともいいます)がアプリに Unicode 絵文字のみを送信できました。リッチ コンテンツの場合、他のアプリでは使用できないアプリ固有の絵文字を作成するか、Easy Share Action やクリップボードを使用して画像を送信するなどの回避策を取る必要がありました。
Android 7.1 では、Android SDK に Commit Content API が追加されました。これにより、IME からアプリのテキスト エディタに画像やその他のリッチ コンテンツを直接送信するための普遍的な方法が提供されます。この API は、リビジョン 25.0.0 以降の v13 サポート ライブラリでも利用できます。
この API を使用すると、任意のキーボードからリッチ コンテンツを受け入れるメッセージ アプリを作成できます。また、あらゆるアプリにリッチ コンテンツを送信できるキーボードも作成できます。詳細については、イメージ キーボードのサポートに関するデベロッパー向けドキュメントをご覧ください。
新しいプロフェッショナル絵文字
Android 7.1 では、男性だけでなく女性も幅広い職業を表す新しい絵文字が追加されています。新しい絵文字は、既存の男性の絵文字と女性の絵文字を同等にしたもので、さまざまな肌の色が用意されています。
キーボード アプリやメッセージ アプリのデベロッパーは、こうした絵文字をアプリに組み込む必要があります。Paint.hasGlyph()
を呼び出すと、新しい絵文字を動的に確認できます。
ライブ壁紙のメタデータの強化
壁紙選択アプリなど、壁紙のプレビューを表示するすべてのコンポーネントに、ライブ壁紙に関するメタデータを提供できるようになりました。ラベル、説明、作成者などの既存のメタデータ属性や、コンテキスト URL やタイトルの新しい属性を表示して、壁紙に関する詳細情報にユーザーを誘導できます。
詳細については、 Android デベロッパー ブログをご覧ください。
丸いアイコンのリソース
円形ランチャー アイコンをアプリで定義できるようになりました。アイコンは、それをサポートするデバイスで使用できます。ランチャーがアプリアイコンをリクエストすると、フレームワークはデバイスのビルド構成に応じて android:icon
または android:roundIcon
を返します。このため、アプリはランチャー インテントに応答する際に、android:icon
リソースと android:roundIcon
リソースの両方を定義する必要があります。Image Asset Studio を使用して、円形アイコンをデザインできます。
新しい円形アイコンをサポートするデバイスでアプリをテストし、円形のアプリアイコンがどのように表示されるかを確認してください。リソースをテストする 1 つの方法は、Android Emulator を実行し、API レベル 25 をターゲットとする Google API Emulator System を使用することです。Google Pixel デバイスにアプリをインストールして、アイコンをテストすることもできます。
アプリ ランチャー アイコンの設計について詳しくは、マテリアル デザイン ガイドラインをご覧ください。
ストレージ マネージャーのインテント
アプリは ACTION_MANAGE_STORAGE
インテントを起動して、ユーザーをシステムの [空き容量を増やす] 画面に移動できるようになりました。たとえば、アプリが現在利用可能な容量よりも多くの容量を必要とする場合、このインテントを使用して、ユーザーが不要なアプリやコンテンツを削除して十分な容量を確保できるようにします。
VR スレッド スケジューリングの改善
Android 7.1 には、VR スレッドのスケジューリングを改善する新機能が用意されています。バーチャル リアリティ アプリはレイテンシの影響を受けやすいため、これは便利です。
アプリで 1 つのスレッドを VR スレッドとして指定できるようになりました。アプリが VR モードになっている間は、レイテンシを最小限に抑えるために、システムはそのスレッドをより積極的にスケジュールします。プロセスには一度に 1 つの VR スレッドしか持たず、システムはそのスレッドを実行できる時間の制限を受けることがあります。アプリが VR モードでない場合、この設定は効果がありません。
スレッドを VR スレッドとして指定するには、新しい ActivityManager.setVrThread()
メソッドを呼び出します。
デモのユーザーヒント
これで、デバイスがデモユーザーとして実行されているかどうかをアプリが確認できるようになりました。
アプリは新しい UserManager.isDemoUser()
メソッドを呼び出して、アプリがデモユーザー サンドボックスで実行されているかどうかを確認できます。これにより、アプリは見込み顧客向けに起動時のエクスペリエンスをカスタマイズできます。たとえば、デモユーザーとして実行する場合、アプリはユーザーをさらにサポートしたり、アプリの機能を詳しく説明したりできます。
携帯通信会社と通話アプリ用の API
携帯通信会社や電話アプリ向けに、次のような新しい電話機能が追加されました。
- マルチ エンドポイント通話
- CDMA 音声プライバシー プロパティ
- ビジュアル ボイスメールのソースタイプのサポート
- ビデオ電話を管理するための携帯通信会社の構成オプション
Wear デバイス向けの新しい画面密度
Android は、一部のデバイスの物理仕様により近い、Wear デバイス向けの新しい画面密度をサポートするようになりました。これにより、必要に応じて Wear アプリのグラフィックを画面に合わせて微調整できます。
新しいデバイス密度は次のとおりです。
DENSITY_260
DENSITY_300
DENSITY_340