Это не похоже на идеальное решение, но у меня была такая же потребность, и я обнаружил, что могу выполнить свою работу, добавив общедоступный ivar или метод к подклассу ContentProvider, который обрабатывает предложения поиска.Перед началом поиска вы можете настроить своего провайдера по мере необходимости.Вы можете получить доступ к экземпляру провайдера из действия, например, так:
ContentProviderClient client = getContentResolver().acquireContentProviderClient("my.searchsuggestionprovider");
MyProviderClass provider = (MyProviderClass) client.getLocalContentProvider();
Теперь вы можете настроить с помощью provider.setParameter("product")
или любым другим способом.Возможно, вам понадобится сбросить параметр на значение по умолчанию или что-то еще после создания курсора.
Редактировать: Это оказалось непрактичным, по крайней мере, в моем случае, так как поставщик контента каждый раз вызывается с query ()персонаж напечатан.Вместо этого я использовал обходной путь, аналогичный тому, который описан в set-search-hint-dynamicically .Создавая альтернативные «доступные для поиска» определения и действия XML, вы можете изменить URI, который передается поставщику контента в query (), добавив компонент пути для предоставления необходимого дополнительного параметра или контекста.