Googleは、Android 17において新たな「クロスデバイス継続性」機能として「Handoff」を導入すると発表しました。
Handoffは、ユーザー向けの新機能であり、バックグラウンドで動作するとしています。また、開発者向けのAPIも提供されるということです。この機能を利用することで、1つのAndroidデバイスで開始したアプリのアクティビティを別のAndroidデバイスに移行することが可能になります。Googleは、ランチャーやタスクバーを利用して、近くのデバイスから利用可能なアクティビティを表示する方針です。
Handoffは、受信側のデバイスにインストールされている同じネイティブAndroidアプリを起動することができます。
このアプリ間の流れでは、ユーザーは指定されたアクティビティにディープリンクされます。
Android 17では、「アプリからウェブへのHandoff」も代替オプションとして提供される予定です。
開発者向けには、「Handoffのサポートはアクティビティごとに実装する」ということです。
Handoffを有効にするには、アクティビティに対してsetHandoffEnabled()メソッドを呼び出す必要があります。移行先のデバイスで再現されたアクティビティが適切な状態を復元できるように、追加のデータを渡す必要がある場合があります。onHandoffActivityRequested()コールバックを実装して、HandoffActivityDataオブジェクトを返し、Handoffがどのようにアクティビティを処理し、再現するかを指定する詳細を含めるということです。
現在、Android 17 Beta 1ではライブでの動作は確認できていません。他の開発者向けドキュメントや詳細も現時点では公開されていないということです。例えば、タスクバーは折りたたみ式やタブレット、大画面のAndroidデバイスにのみ搭載されています。このような継続性機能がデスクトップAndroidでどのように機能するかを想像することができます。例えば、スマートフォンでメールの作成を開始し、ラップトップでそれを完了することが可能になるかもしれません。
