Ответ 1
Глядя на файл с возможностью поиска, похоже, что вы должны иметь возможность использовать разные значения android: searchSuggestPath для устранения двусмысленности между двумя.
Я пытаюсь реализовать как последние предложения, так и custom предложений в глобальном поиске в одном приложении. Они оба используют один и тот же путь в провайдере, поэтому кажется, что для них невозможно вернуть разные результаты. Например, только недавний поиск предложений и реальных результатов поиска в окне быстрого поиска.
Любая идея о том, как это сделать?
Глядя на файл с возможностью поиска, похоже, что вы должны иметь возможность использовать разные значения android: searchSuggestPath для устранения двусмысленности между двумя.
Это возможно, хотя для этого требуется немного обходного пути. Мне еще предстоит полностью проверить это на нескольких платформах, но вот моя реализация: Collectionista SearchRecentSuggestionsContentProvider.java
Поскольку последние предложения являются наиболее ограничительными, вы должны обернуть своего провайдера провайдером, который необходим для пользовательских предложений, и сделать сквозной доступ к последним предложениям.
Важно, чтобы вы понимали, что вам не нужно дублировать searchable.xml
или любой из блоков манифеста. Вы используете тот же самый авторитет.
Кроме того, последние предложения ограничивают использование android:searchSuggestSelection=" ?"
, поэтому вам придется иметь дело с тем, что у вашего провайдера для запросов пользовательских предложений. Вероятно, вы захотите использовать android:searchSuggestPath
, поэтому поймите, что запросы для последних предложений поступают к этому Uri и должны быть отправлены на путь Uri.
Оба предложения будут отображаться так же, как они должны быть возвращены с помощью одного и того же курсора.
Если вы заметили какие-либо ошибки, не могли бы вы так любезно сообщить об этом мне?