Доступ к пакету appSearchData из ContentProvider - PullRequest
1 голос
/ 09 декабря 2010

Предполагается, что действие может предоставлять контекстную информацию поставщику контента, например:

@Override
public boolean onSearchRequested() {
    Bundle appSearchData = new Bundle();
    appSearchData.putByte("category", category);
    startSearch(null, false, appSearchData, false);
    return true;
}

Предложения и результаты поиска поставщика должны быть ограничены категорией, но я не могунайдите, где получить доступ к комплекту appSearchData из моего ContentProvider.

1 Ответ

0 голосов
/ 08 января 2011

Используйте это для onSearchRequested:

@Override
public boolean onSearchRequested() {
    SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE);

    if(searchManager!=null)
    {
        // start the search with the appropriate searchable activity
        // so we get the correct search hint in the search dialog
            Bundle b = new Bundle();
            b.putString("context", indicator);
            searchManager.startSearch(null, false,new ComponentName(this, YourClass.class), b, false);
    return true;
}
return false;
}

И это ваш класс для поиска:

Bundle b = intent.getBundleExtra(SearchManager.APP_DATA);
...