CoreSpotlight Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Permite que os aplicativos adicionem dados ao índice de pesquisa do sistema.
Classes
CSCustomAttributeKey |
Uma chave que os desenvolvedores de aplicativos podem associar aos metadados de um item indexável que pode aparecer nos resultados da pesquisa do usuário. |
CSIndexErrorCodeExtensions |
Métodos de extensão para a enumeração CoreSpotlight.CSIndexErrorCode. |
CSIndexExtensionRequestHandler |
Manipulador para comunicação entre o aplicativo e o índice no dispositivo. O aplicativo não precisa estar em execução para que essa comunicação ocorra. |
CSLocalizedString |
Representa um objeto semelhante a uma cadeia de caracteres que retorna uma versão específica da localidade de uma cadeia de caracteres. |
CSMailboxKey |
Representa chaves que identificam caixas de correio comumente usadas. |
CSPerson |
Um autor ou um destinatário armazenado em um CSSearchableItemAttributeSet. |
CSSearchableIndex |
Um índice de pesquisa usado pelo Spotlight. |
CSSearchableIndex_CSOptionalBatchingExtension |
Métodos de extensão para T:CoreServices.CSSearchableIndex. |
CSSearchableIndexDelegate |
Objeto Delegate que fornece membros que são chamados ao reindexar o índice. |
CSSearchableIndexDelegate_Extensions |
Métodos de extensão para a ICSSearchableIndexDelegate interface para dar suporte a todos os métodos do CSSearchableIndexDelegate protocolo. |
CSSearchableItem |
Um objeto pesquisável e identificável exclusivamente em um CSSearchableIndex. |
CSSearchableItemAttributeSet |
Mantém o conteúdo real a ser indexado para pesquisa. |
CSSearchQuery |
Pesquisa dados que o desenvolvedor indexou anteriormente com a API principal do Spotlight. |
CSSearchQueryErrorCodeExtensions |
Métodos de extensão para a enumeração CoreSpotlight.CSSearchQueryErrorCode. |
Interfaces
ICSSearchableIndexDelegate |
Interface que representa os métodos necessários (se houver) do protocolo CSSearchableIndexDelegate. |
Enumerações
CSFileProtection |
Enumera opções de proteção de arquivo em chamadas para M:CoreSpotlight.CSSearchableIndex.FromName*. |
CSIndexErrorCode |
Enumera possíveis erros associados ao uso do Destaque Principal e pesquisa. |
CSSearchQueryErrorCode |
Enumera erros que podem ocorrer durante a execução de uma consulta core spotlight com Start(). |
Delegados
CSSearchableIndexFetchHandler |
Manipulador de conclusão usado em FetchLastClientState(CSSearchableIndex, CSSearchableIndexFetchHandler). |
Comentários
Destaque é a tecnologia de pesquisa do sistema no iOS e no OS X. O CoreSpotlight permite que os desenvolvedores adicionem dados ao índice de pesquisa. Um aplicativo sobre a tabela periódica, por exemplo, poderia indexar os vários elementos e abrir a página relevante após uma pesquisa.
A adição de dados ao Spotlight é feita adicionando CSSearchableItem objetos ao DefaultSearchableIndex:
//Create CSSearchableItems
var dataItems = searchIndexMap.Select (keyValuePair => {
Guid guid = keyValuePair.Key;
String data = keyValuePair.Value;
var attributeSet = new CSSearchableItemAttributeSet (UTType.Text);
attributeSet.Title = data + " Page";
attributeSet.ContentDescription = "My app's data relating to " + data;
attributeSet.TextContent = data;
var dataItem = new CSSearchableItem (guid.ToString (), "com.xamarin.CoreSpotlight0", attributeSet);
return dataItem;
});
//Add items to system index
CSSearchableIndex.DefaultSearchableIndex.Index (dataItems.ToArray<CSSearchableItem> (), err => {
if (err != null) {
Console.WriteLine (err);
} else {
Console.WriteLine ("Indexed items successfully");
}
});
Quando o aplicativo é iniciado por meio de uma pesquisa de conteúdo do Spotlight, o sistema chama o ContinueUserActivity método com o ActivityType definido como ActionType:
public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{
if (userActivity.ActivityType == CSSearchableItem.ActionType) {
var uuid = userActivity.UserInfo.ObjectForKey (CSSearchableItem.ActivityIdentifier);
//... handle Spotlight search for identifier