2015-06-22 47 views
0

我试图按照android documentation执行''使用特定应用程序'功能进行搜索。但我无法得到它的工作。这是我的查询'确定谷歌,在helloapp搜索xyz'无法执行Google API'使用特定应用程序进行搜索'

以下是我的实施。我已经添加了不需要的元数据,但没有它也无法工作。

实施

清单

<activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <meta-data 
      android:name="android.app.default_searchable" 
      android:value=".SearchableActivity" /> 
    </activity> 
    <activity 
     android:name=".SearchableActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="com.google.android.gms.actions.SEARCH_ACTION"/> 
      <category android:name="android.intent.category.DEFAULT"/> 
     </intent-filter> 

     <meta-data 
      android:name="android.app.searchable" 
      android:value=".SearchableActivity" /> 

    </activity> 

检索活动

public class SearchableActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.searchlayout); 

     Intent intent = getIntent(); 
     if(SearchIntents.ACTION_SEARCH.equals(intent.getAction())){ 
      String query = intent.getStringExtra(SearchManager.QUERY); 
      Toast.makeText(getApplicationContext(), query, Toast.LENGTH_LONG).show(); 
     } 

    } 

} 
+0

我只是在http://stackoverflow.com/questions/26982653/how-to-integrate-searchable-activity-with-ok-google-阅读效仿这一语音搜索,该应用程序需要发布到应用程序商店才能正常工作。 –

回答

2

从这个post想通了,该应用程序必须首先公布了泛函工作。但是,我们可以用下面的adb shell命令

adb shell am start -a com.google.android.gms.actions.SEARCH_ACTION -e query 'search for xyz on..' packagename 
+0

只是添加它似乎也必须公开可用。 –

相关问题