2013-07-24 37 views
10

Tôi muốn thêm chức năng tìm kiếm bằng giọng nói vào ứng dụng của mình. Tôi đang điền một SearchView trong SherlockActivity. Nhưng tôi không thể tìm thấy giải pháp để thêm chức năng tìm kiếm bằng giọng nói vào đối tượng SearchView.Cách triển khai tìm kiếm bằng giọng nói đến SearchView

Bạn có thể đưa ra lời khuyên, tôi cần phải làm gì?

Mã dưới đây:

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> 

Trả lời

5

Bạn có thể kiểm tra các tài liệu here

Cập nhật: Nếu SearchActivity của bạn là như nhau, bạn có thể ghi đè lên onNewIntent và xử lý các Mục đích tìm kiếm ở đó. Cũng làm cho hoạt động của bạn trở thành singleTop, theo cách đó, chỉ một trường hợp hoạt động sẽ ở trên đầu.

Hy vọng điều này sẽ giúp và vui lòng thông báo nếu bạn tìm thấy giải pháp.

Chúc mừng!

2

Trong thư mục res/xml của bạn, bạn nên có tệp có thể tìm kiếm (thường được gọi là searchable.xml).

Trong yếu tố <searchable /> trong tập tin đó, bạn nên thêm thuộc tính này:

android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"

Có thuộc tính bằng giọng nói khác có liên quan (hiện voicePromptText, voiceLanguageModelvoiceLanguage) mà tất cả đều described here.

Các vấn đề liên quan