1

このコードを使用して、Google Playstore アプリで最近のクエリをクリアできます。

SearchRecentSuggestions query = new SearchRecentSuggestions(this, "com.google.android.finsky.RecentSuggestionsProvider", 1);    
query.clearHistory();

ただし、最近のクエリを使用するにはどうすればよいですか? (例: TextView で最初のクエリを表示する)

4

1 に答える 1

0

デフォルトでは、クエリは uri パラメータ (Uri オブジェクト) の最後のセグメントとして追加されます。この場合、クエリ テキストを取得するには、単純に getLastPathSegment() を使用します。例えば:

文字列クエリ = uri.getLastPathSegment().toLowerCase();

たとえば、android:searchSuggestSelection 属性を形成して全文検索ステートメントを作成する方法を次に示します。

`

<?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"
    android:searchSuggestAuthority="com.example.MyCustomSuggestionProvider"
    android:searchSuggestIntentAction="android.intent.action.VIEW"
    android:searchSuggestSelection="word MATCH ?">
</searchable>

` この構成では、query() メソッドは選択パラメータを「word MATCH ?」として渡します。および検索クエリとしての selectionArgs パラメータ。これらをそれぞれの引数として SQLite query() メソッドに渡すと、それらは一緒に合成されます (疑問符はクエリ テキストに置き換えられます)。この方法で提案クエリを受信することを選択し、クエリ テキストにワイルドカードを追加する必要がある場合は、ワイルドカードを selectionArgs パラメーターに追加 (および/またはプレフィックス) します。これは、この値が引用符で囲まれ、疑問符の代わりに挿入されるためです。

上記の例のもう 1 つの新しい属性は android:searchSuggestIntentAction です。これは、ユーザーが提案を選択したときに各インテントと共に送信されるインテント アクションを定義します。これについては、提案の意図の宣言に関するセクションで詳しく説明します。

于 2013-03-19T06:46:07.840 に答える