2016-12-04 9 views
0

私のアプリケーション内でAssist APIを使用しようとしていますが、ほとんどのチュートリアルに従っていますが、私はこれをアクティビティに追加しました。マニフェストやプロジェクトのどこかで何か他のことが行われますか?この下に呼ばれました方法が、何も私は見ていonProvideAssistContentが呼び出されていますが、アプリケーションで何も起こっていません。

@Override 
     public void onProvideAssistContent(AssistContent outContent) { 
      super.onProvideAssistContent(outContent); 

      outContent.setWebUri(Uri.parse("https://commonsware.com")); 
      try { 
       String structuredJson = new JSONObject() 
         .put("@type", "Book") 
         .put("@author", "https://commonsware.com/mmurphy") 
         .put("publisher", "CommonsWare, LLC") 
         .put("name", "The Busy Coder's Guide to Android   Development") 
         .toString(); 
       outContent.setStructuredData(structuredJson); 
      }catch(JSONException jsonEx){ 
       Log.e(getClass().getSimpleName(), "What happend", jsonEx); 
      } 
     } 

をデバッグするとき、私は長い

+0

"しかし、あなたは[my book](https://commonsware.com/Android)のサンプルコードを使用しているようです。 Assist APIに関する章。 「それは常にスクリーン上に何も表示されません」 - あなたのアクティビティのUIには何かがありますか?アシスタントがonProvideAssistContent()によって提供された情報を実際に使用する必要はありません。また、端末のアシスタントは何ですか(ホームを長時間タップすると何が制御されるのですか)。 – CommonsWare

+0

こんにちは、 "助手がonProvideAssistContent()で提供された情報を実際に使用する必要はありません"とは何ですか?他に何か私のプロジェクトでそれを動作させるために追加する必要がありますか?親切に助けてください – androider

+0

"私のプロジェクトでそれを動作させるために追加する必要があるものは何ですか?" - あなたのデバイスで使用しているアシスタントの作者に連絡してください。あなたは 'onProvideAssistContent()'を介して*データを提供しています。アシスタント*はあなたが提供しているそのデータを使用する*がありません。 – CommonsWare

答えて

0

iが通じ支援単にURLを開きたいのホームボタンをタップすると、それは常に画面上にFOUND何も示していませんホームボタンを長くタップしてアプリケーションからapiをダウンロードする

これはあなたの決定ではありません。アシスタントへのURL を提供することができます。アシスタントがそのURLで何を行うかは、の場合は、アシスタントの開発者が決定します。

アシストAPIが出たときの私のテストでは、Google Now Now Tapの現在の実装ではonProvideAssistContent()が無視されましたが、アシスタントが望む場合はonProvideAssistContent()のデータが利用可能であったと結論付けました。私はonProvideAssistContent()で何かをするアシスタントを強制的に

を修正するために必要なもの

、あなたはあなたのアシスタントに切り替えるには、ユーザーを納得させる、その後、独自のアシスタントを記述する必要があります。

+0

アシストAPIを理解するためのサンプルがありますか? – androider

+0

@androider:「それ」が何であるか分かりません。 – CommonsWare

関連する問題