Partilhar via


Rastrear arquivos e pastas usados recentemente

APIs importantes

Acompanhe os arquivos que o usuário acessa com frequência adicionando-os à lista de itens usados recentemente de seu aplicativo. A plataforma gerencia os itens usados recentemente para você classificando-os com base na data em que foram acessados pela última vez e removendo o item mais antigo quando o limite de 25 itens é atingido. Todos os aplicativos têm seus próprios itens usados recentemente.

Os itens recém-usados do aplicativo são representados pela classe StorageItemMostRecentlyUsedList que você obtém da propriedade estática StorageApplicationPermissions.MostRecentlyUsedList. Os itens recém-usados são armazenados como objetos IStorageItem, portanto, os objetos StorageFile (que representam arquivos) e StorageFolder (que representam pastas) podem ser adicionados aos itens recém-usados.

Observação

 Para exemplos completos, consulte o Exemplo de seletor de arquivos e o Exemplo de acesso a arquivos.

Pré-requisitos

Adicionar um arquivo selecionado à lista MRU

  • Os arquivos que o usuário seleciona costumam ser os arquivos que eles retornam repetidamente. Portanto, considere adicionar os arquivos selecionados aos itens recém-usados de seu aplicativo assim que eles forem selecionados. Veja aqui como fazer isso.

    Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
    
    var mru = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList;
    string mruToken = mru.Add(file, "profile pic");
    

    StorageItemMostRecentlyUsedList.Add está sobrecarregado. No exemplo, usamos Add(IStorageItem, String) para podermos associar metadados ao arquivo. A configuração de metadados permite que você registre a finalidade do item, por exemplo, "profile pic". Você também pode adicionar o arquivo à lista de itens recém-usados sem metadados chamando Add(IStorageItem). Quando você adiciona um item à lista de itens recém-usados, o método retorna uma cadeia de caracteres de identificação exclusiva, denominada token, que é usada para recuperar o item.

Dica

Você precisará do token para recuperar um item da lista de itens recém-usados, portanto, mantenha-o em algum lugar. Para saber mais sobre dados de aplicativos, consulte Gerenciando dados do aplicativo.

Usar um token para recuperar um item da lista MRU

Use o método de recuperação mais apropriado para o item a ser recuperado.

Consulte aqui como recuperar o arquivo que acabamos de adicionar.

StorageFile retrievedFile = await mru.GetFileAsync(mruToken);

Consulte aqui como iterar todas as entradas para obter tokens e itens.

foreach (Windows.Storage.AccessCache.AccessListEntry entry in mru.Entries)
{
    string mruToken = entry.Token;
    string mruMetadata = entry.Metadata;
    Windows.Storage.IStorageItem item = await mru.GetItemAsync(mruToken);
    // The type of item will tell you whether it's a file or a folder.
}

O AccessListEntryView permite que você promova a iteração de itens recém-usados. Essas entradas são estruturas de AccessListEntry que contêm o token e os metadados de um item.

Removendo itens da lista MRU quando ela está cheia

Quando o limite de 25 itens da MRU for atingido e você tentar adicionar um novo item, o item que foi acessado há mais tempo será removido automaticamente. Portanto, você nunca precisa remover um item antes de adicionar um novo.

Lista de acesso futuro

Além da lista MRU, seu aplicativo também tem uma lista de acesso futuro. Selecionando arquivos e pastas, o usuário concede a seu aplicativo permissão para acessar itens que podem não estar acessíveis de outra maneira. Se você adicionar esses itens à sua lista de acesso futuro, manterá essa permissão quando seu aplicativo quiser acessar esses itens novamente mais tarde. A lista de acesso futuro do seu aplicativo é representada pela classe StorageItemAccessList que você obtém da propriedade estática StorageApplicationPermissions.FutureAccessList.

Quando um usuário seleciona um item, considere adicioná-lo à sua lista de acesso futuro, bem como à seus itens recém-usados.

  • O FutureAccessList comporta até 1000 itens. Lembre-se: ele pode conter pastas, bem como arquivos, portanto, muitas pastas.
  • A plataforma nunca remove itens de FutureAccessList para você. Quando você atingir o limite de 1000 itens, não poderá adicionar outro item até liberar espaço com o método Remove.