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 が含まれています。この 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 エミュレータ システムを使用することです。Google Pixel デバイスにアプリをインストールして、アイコンをテストすることもできます。
アプリ ランチャー アイコンのデザインの詳細については、マテリアル デザイン ガイドラインをご覧ください。
ストレージ管理ツールのインテント
アプリが ACTION_MANAGE_STORAGE
インテントを起動して、ユーザーをシステムの [空き容量を増やす] 画面に誘導できるようになりました。たとえば、アプリが現在利用可能な以上のスペースを必要とする場合、このインテントを使用して、ユーザーが不要なアプリやコンテンツを削除して十分なスペースを空けるようにできます。
VR スレッドのスケジューリングの改善
Android 7.1 には、VR スレッドのスケジューリングを改善する新機能が用意されています。バーチャル リアリティ アプリはレイテンシの影響を受けやすいため、これは有用です。
アプリで 1 つのスレッドを VR スレッドとして指定できるようになりました。アプリが VR モードにあるときは、レイテンシを最小限に抑えるために、システムがそのスレッドをより積極的にスケジュールします。プロセスが持つことができる VR スレッドは一度に 1 つのみであり、システムはそのスレッドを実行できる時間の制限を受ける場合があります。アプリが VR モードでない場合、この設定は無視されます。
スレッドを VR スレッドとして指定するには、新しい ActivityManager.setVrThread()
メソッドを呼び出します。
デモのユーザーヒント
これで、デバイスがデモユーザーとして動作しているかどうかをアプリで確認できるようになりました。
アプリは新しい UserManager.isDemoUser()
メソッドを呼び出して、デモユーザー サンドボックスで実行されているかどうかを確認できます。これにより、アプリは見込み顧客向けに開始時のエクスペリエンスをカスタマイズできます。たとえば、アプリがデモユーザーとして実行している場合、よりユーザーを支援したり、アプリの機能を詳しく説明したりすることがあります。
携帯通信会社と通話アプリ用の API
現在、携帯通信会社や電話アプリ向けに、次のような新しい電話機能が用意されています。
- マルチエンドポイント通話
- CDMA 音声プライバシー プロパティ
- ビジュアル ボイスメールのソースタイプのサポート
- ビデオテレフォニーを管理するための携帯通信会社の構成オプション
Wear デバイスの新しい画面密度
Android では、Wear デバイス向けの新しい画面密度がいくつかサポートされるようになりました。これらの画面密度は、一部のデバイスの物理仕様によります。これにより、必要に応じて Wear アプリのグラフィックを画面に合わせて微調整できます。
新しいデバイス密度は次のとおりです。
DENSITY_260
DENSITY_300
DENSITY_340