Сохранить разные истории поиска для разных видов деятельности? - PullRequest
5 голосов
/ 14 декабря 2011

У меня есть два вида деятельности, и я бы хотел, чтобы у каждого из них были свои предложения по истории поиска.Это возможно?У каждого из них есть свой поставщик предложений поиска, но я вижу, что для обоих действий отображается одна и та же история поиска:

// manifest.xml
<activity
  android:name="ActivityA"
  ...
  <meta-data 
    android:name="android.app.searchable"
    android:resource="@xml/searchable_A" />
</activity>

<activity
  android:name="ActivityB"
  ...
  <meta-data 
    android:name="android.app.searchable"
    android:resource="@xml/searchable_B" />
</activity>


// searchable_A.xml
<searchable   
  android:searchSuggestAuthority="providerA" />

// searchable_B.xml
<searchable   
  android:searchSuggestAuthority="providerB" />

При сохранении предложений поиска я обязательно использую правильный поставщик для каждого действия.

// ActivityA.java
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(ActivityA.this,
    providerA.AUTHORITY, providerA.MODE);
suggestions.saveRecentQuery(...);

// ActivityB.java
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(ActivityB.this,
    providerB.AUTHORITY, providerB.MODE);
suggestions.saveRecentQuery(...);

Поскольку поставщики поисковых предложений разные, я ожидал, что у каждого из них будет своя история.В данном случае я использую Activity для автомобилей и Activity для продуктов.Я не хочу, чтобы прошлые поисковые термины смешивались, они не имеют смысла в разных контекстах.

http://developer.android.com/guide/topics/search/adding-recent-query-suggestions.html

...