Passar consultas para outros mecanismos de busca

Você pode usar a interface ExternalSearchProvider para passar consultas para outro mecanismo de busca. Por exemplo, um aplicativo em um aparelho BlackBerry que tenha uma maneira eficiente de pesquisar os próprios dados pode oferecer aos usuários e a outros aplicativos acesso a seus dados implementando o ExternalSearchProvider. Uma seguradora também pode ter um aplicativo que permita que os representantes de vendas pesquisem um banco de dados de apólices de seguro. A companhia pode fornecer a seus representantes de vendas acesso ao mecanismo de busca de apólices protegido por firewall, a partir de um aparelho BlackBerry, implementando o ExternalSearchProvider.

Os usuários podem estender a pesquisa de duas maneiras. O recurso de pesquisa universal na tela inicial lista os provedores externos de pesquisa no final da lista de resultados de pesquisa. Se um usuário clicar no ícone para seu aplicativo no resultado da pesquisa, o serviço de pesquisa unificada invocará search() de seu objeto ExternalSearchProvider. Seu aplicativo será então responsável pela criação de uma conexão com o provedor de pesquisas (outro aplicativo ou por uma rede), pela passagem da string de consulta e pela exibição dos resultados que você recupera.

Outros aplicativos podem invocar seu aplicativo de maneira semelhante. O método UnifiedSearchServices.getSearchProviders() retorna uma lista de todos os provedores externos de pesquisa instalados em um aparelho BlackBerry. Dessa maneira, um aplicativo pode localizar e usar seu ExternalSearchProvider especificamente ou permitir que o usuário escolha um na lista.

Para garantir que seu aplicativo seja exibido na lista de provedores externos de pesquisa, você deve registrar seu ExternalSearchProvider no serviço de pesquisa unificada. Passe o objeto ExternalSearchProvider ao invocar SearchRegistry.register().

O diagrama a seguir mostra a relação entre alguns dos componentes necessários para a implementação de ExternalSearchProvider.

Este diagrama mostra os componentes envolvidos na criação de um provedor de pesquisa externo.

Estas informações foram úteis? Gostaríamos de receber seus comentários.