2013-07-24 192 views
10

我想添加語音搜索功能到我的應用程序。我在SherlockActivity中填充SearchView。但我找不到解決方案來將語音搜索功能添加到SearchView對象。如何實現語音搜索到SearchView

您能否給出建議,我需要做什麼?下面

代碼:

public class MainActivity extends SherlockActivity { 
     private SlidingMenu slidingMenu; 
     private SlidingMenu slidingMenuRight; 
     private String mFilterArrays[]; 
     public long lastScrollTime=0; /** En son kaydırma ne zaman yapıldı*/ 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
    } 

     public boolean onCreateOptionsMenu(Menu menu) { 

        //Create the search view 
        SearchView searchView = new SearchView(getSupportActionBar().getThemedContext()); 
        searchView.setQueryHint("Search..."); 


        menu.add("Search") 
         .setIcon(R.drawable.ic_search_inverse) 
         .setActionView(searchView) 
         .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); 
         return true; 
    } 
} 

Mainfest

<activity 
    android:name="com.paea.bcp.MainActivity" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="com.paea.bcp.MainActivity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <action android:name="android.intent.action.SEARCH" />     
    </intent-filter> 
</activity> 

回答

5

您可以檢查出的文檔here

更新:如果您SearchActivity是同一個,您可以覆蓋onNewIntent和處理在那裏搜索意圖。也可以將您的活動設置爲singleTop,這樣活動只有一個實例會保持在最前面。

希望這可以幫助,並請通知,如果你找到解決辦法。

乾杯!

2

在您的res/xml文件夾中,您應該有一個可搜索文件(通常稱爲searchable.xml)。

在該文件中的元素<searchable />,你應該添加此屬性:

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

還有其他語音相關的屬性(目前voicePromptTextvoiceLanguageModelvoiceLanguage),這是所有described here