これは簡単。ユーザーがメニューボタンを長押しすると、アプリ内で検索するための検索クエリを入力できる検索テキストボックスが読み込まれるように、Googleの検索機能を使用する必要があります。
検索可能なアプリファイルには、ルートノードとして要素が含まれ、1つ以上の属性を指定する必要があります。例えば
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_label"
android:hint="@string/search_hint" >
</searchable>
次に、ACTION_SEARCHを受け入れるアクティビティを宣言します。
<application ... >
<activity android:name=".SearchableActivity" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
</application>
次に、クエリとその実行方法を制御する必要があります。私はこれを自分のアプリに使用しています。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
// Get the intent, verify the action and get the query
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
}
}
android
androidsearch