Android 系統有瀏覽記錄搜尋方塊

來源:互聯網
上載者:User

 一、配置搜尋描述檔案

要在res中的xml檔案加建立sreachable.xml,內容如下:

<?xml version="1.0" encoding="utf-8"?> 
<searchable 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:hint="@string/searchLable" 
android:label="@string/searchLable" 
android:searchSuggestAuthority="com.glacier.ui.SearchSuggestionProvider" 
android:searchSuggestSelection=" ? "> 

</searchable>

二、填寫設定檔資訊

1.搜尋方塊的配置

<!-- 搜尋動作 --> 
<intent-filter > 
<action android:name="android.intent.action.SEARCH" > 
</action> 
</intent-filter> 

<meta-data 
android:name="android.app.default_searchable" 
android:value="MainActivity" /> 
<meta-data 
android:name="android.app.searchable" 
android:resource="@xml/searchable" > 
</meta-data>

2.儲存內容的配置

<provider 
android:authorities="com.glacier.ui.SearchSuggestionProvider" 
android:name="com.glacier.ui.SearchSuggestionProvider" > 
</provider>

三、調用啟動搜尋方塊方法

//彈出搜尋方塊
onSearchRequested();

可以重新寫系統的方法做些必要的內容載入其他
@Override 
public boolean onSearchRequested(){ 
//開啟浮動搜尋方塊(第一個參數預設添加到搜尋方塊的值) 
startSearch(null, false, null, false); 
return true; 


//得到搜尋結果 
@Override 
public void onNewIntent(Intent intent){ 
super.onNewIntent(intent); 
//獲得搜尋方塊裡值 
query=intent.getStringExtra(SearchManager.QUERY); 
System.out.println(query); 
//儲存搜尋記錄 
SearchRecentSuggestions suggestions=new SearchRecentSuggestions(MainActivity.this, 
SearchSuggestionProvider.AUTHORITY, SearchSuggestionProvider.MODE); 
suggestions.saveRecentQuery(query, null); 
System.out.println("儲存成功"); 
}

四、記得要寫儲存的地方

import android.content.SearchRecentSuggestionsProvider; 

public class SearchSuggestionProvider extends SearchRecentSuggestionsProvider { 

public final static String AUTHORITY="com.glacier.ui.SearchSuggestionProvider"; 
public final static int MODE=DATABASE_MODE_QUERIES; 

public SearchSuggestionProvider(){ 
super(); 
setupSuggestions(AUTHORITY, MODE); 

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.