Context.GetExternalFilesDir(String) Método
Definição
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.
Retorna o caminho absoluto para o diretório no dispositivo de armazenamento compartilhado/externo primário em que o aplicativo pode colocar arquivos persistentes que possui.
[Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")]
public abstract Java.IO.File? GetExternalFilesDir(string? type);
[<Android.Runtime.Register("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", "GetGetExternalFilesDir_Ljava_lang_String_Handler")>]
abstract member GetExternalFilesDir : string -> Java.IO.File
Parâmetros
- type
- String
O tipo de diretório de arquivos a ser retornado. Pode ser null para a raiz do diretório de arquivos ou uma das seguintes constantes para um subdiretório: android.os.Environment#DIRECTORY_MUSIC, , android.os.Environment#DIRECTORY_PODCASTS, android.os.Environment#DIRECTORY_RINGTONES, android.os.Environment#DIRECTORY_ALARMS, android.os.Environment#DIRECTORY_NOTIFICATIONS, android.os.Environment#DIRECTORY_PICTURES, ou android.os.Environment#DIRECTORY_MOVIES.
Retornos
o caminho absoluto para o diretório específico do aplicativo. Pode retornar null se o armazenamento compartilhado não estiver disponível no momento.
- Atributos
Comentários
Retorna o caminho absoluto para o diretório no dispositivo de armazenamento compartilhado/externo primário em que o aplicativo pode colocar arquivos persistentes que possui. Esses arquivos são internos para os aplicativos e normalmente não são visíveis para o usuário como mídia.
É assim #getFilesDir() que esses arquivos serão excluídos quando o aplicativo for desinstalado, no entanto, há algumas diferenças importantes: <o armazenamento compartilhado ul><li>pode nem sempre estar disponível, pois a mídia removível pode ser ejetada pelo usuário. O estado de mídia pode ser verificado usando Environment#getExternalStorageState(File).
<li>Não há nenhuma segurança imposta com esses arquivos. Por exemplo, qualquer retenção de android.Manifest.permission#WRITE_EXTERNAL_STORAGE aplicativo pode gravar nesses arquivos.
</ul>
Se um dispositivo de armazenamento compartilhado for emulado (conforme determinado por Environment#isExternalStorageEmulated(File)), seu conteúdo será apoiado por uma partição de dados de usuário privado, o que significa que há pouco benefício em armazenar dados aqui em vez dos diretórios privados retornados por #getFilesDir(), etc.
A partir da entrada android.os.Build.VERSION_CODES#KITKAT, nenhuma permissão é necessária para ler ou gravar no caminho retornado; ela é sempre acessível ao aplicativo de chamada. Isso só se aplica aos caminhos gerados para o nome do pacote do aplicativo de chamada. Para acessar caminhos que pertencem a outros pacotes android.Manifest.permission#WRITE_EXTERNAL_STORAGE e/ou android.Manifest.permission#READ_EXTERNAL_STORAGE são necessários.
Em dispositivos com vários usuários (conforme descrito por UserManager), cada usuário tem seu próprio armazenamento compartilhado isolado. Os aplicativos só têm acesso ao armazenamento compartilhado para o usuário em que estão sendo executados.
O caminho retornado poderá ser alterado ao longo do tempo se diferentes mídias de armazenamento compartilhadas forem inseridas, portanto, somente os caminhos relativos devem ser persistidos.
Aqui está um exemplo de código típico para manipular um arquivo no armazenamento compartilhado de um aplicativo:
{
Java documentação para android.content.Context.getExternalFilesDir(java.lang.String).
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.