8

Google Now on Tap について調べて読んでいます ( http://developer.android.com/training/articles/assistant.htmlから)。

その記事から、Now on Tap は Marshmallow にバンドルされている Google の Assist API に基づいており、独自のアシスタントを開発することが可能であることがわかりました (この記事では、Now on Tap のようなアプリを指すために Google という用語が使用されています)。 API を使用します。

ただし、前述の記事では Assist API の使用方法について非常に簡単に説明されているだけであり、それを使用してカスタム アシスタントを開発する方法に関する追加情報は、インターネットで数日かけて検索しても見つかりませんでした。ドキュメントも例もありません。

Assist API を使用した経験のある方はいらっしゃいますか? どんな助けでも感謝します。

ありがとう

4

2 に答える 2

12

Android 6.0 以降の Assist API を使用して、Google Now on Tap のようなパーソナル アシスタントを確実に実装できます。公式の開発者 ( http://developer.android.com/training/articles/assistant.html ) ガイドには、実装方法が正確に記載されています。

一部の開発者は、独自のアシスタントを実装することを希望する場合があります。図 2 に示すように、Android ユーザーはアクティブなアシスタント アプリを選択できます。この例に示すように、アシスタント アプリは VoiceInteractionSessionService と VoiceInteractionSession の実装を提供する必要があり、BIND_VOICE_INTERACTION 権限が必要です。次に、onHandleAssist() で AssistStructure のインスタンスとして表されるテキストとビュー階層を受け取ることができます。アシスタントは、onHandleScreenshot() を介してスクリーンショットを受け取ります。

Commonsware には、基本的な Assist API の使用法に関する 4 つのデモがあります。TapOffNow ( https://github.com/commonsguy/cw-omnibus/tree/master/Assist/TapOffNow ) で十分に作業を開始できます。

関連するテキスト データを取得するために onHandleScreenshot() を使用する必要はありません。onHandleAssist() の AssistStructure は、通常、画面に表示されるすべてのものを含むルート ViewNode を提供します。

おそらく、このルート ViewNode から子に対して再帰検索を使用して、注目したい特定の ViewNode をすばやく見つけるために、ある種の関数も実装する必要があります。

于 2016-03-08T04:31:25.223 に答える