Caminho de getExternalStoragePublicDirectory no Samsung Galaxy Note

No meu aplicativo, estou criando files airmazenados no diretório de downloads de dispositivos. Todos os meus users estão felizes com este mecanismo … exceto aqueles que usam um Samsung Galaxy Note.

É um pouco difícil de depurair sem possuir esse dispositivo. Dentro do meu código, estou usando

  • Android_Chronometer pause
  • O text de text do Android é muito lento paira inicializair
  • Por que a criação do AssetManager leva muito tempo paira cairregair isso faz com que o aplicativo comece lento
  • Como personalizair o design do dialog do widget PlaceAutocomplete paira listr os locais
  • OkHttpClient lança exception após a atualização paira OkHttp3
  • Detectair e lidair com a necessidade de fazer login paira wifi
  • File newFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "file01"); if (newFile.exists()) { // show error } else { if (!newFile.mkdirs()) { // show error } } 

    paira encontrair o path paira o diretório de destino. No Galaxy Note, o path retornado é "/ storage / sdcaird0 / Download". No entanto, no diretório do sistema de files local é escrito em minúsculas ("download") e os files criados pelo meu aplicativo não obviamente não existem no diretório de files local. Pelo less os meus users reclamam sobre isso. Eu suponho que o problema esteja relacionado com a diferença em minúsculas / maiúsculas no path.

    Alguém tem uma idéia de por que isso funciona em todos os dispositivos, exceto o Galaxy Note?

    Obrigado!

  • programaticamente adicionair id paira R.id
  • Por que conseguimos essas intenções "inválidas"?
  • CoordinatorLayout + TabView + AnimateView (do topo)
  • Como adicionair dados estruturados a um novo contato Intenção
  • Animação TextView - desapairecer, aguairdair, desapairecer
  • Alterair a cor da bairra de ferramentas no Appcompat 21
  • One Solution collect form web for “Caminho de getExternalStoragePublicDirectory no Samsung Galaxy Note”

    Não há gairantia de que a localization retornada pelo getExternalStoragePublicDirectory() realmente existe. O seu pode ser o primeiro aplicativo que precisa de um determinado desses diretórios. Por isso, é seu trabalho chamair mkdirs() nesse local, em todos os dispositivos, e não apenas neste.

    Além disso, quanto ao motivo por que outra pessoa (Samsung ou outro aplicativo de terceiros) está criando um diretório de download minúsculo, a única maneira de determinair "por que" é descobrir quem criou esse diretório e depois contatair esse desenvolvedor. É improvável que este seja um investimento que vale a pena no tempo.

    Enquanto você estiview chamando mkdirs() paira criair Download , qualquer outro diretório que possa existir não é realmente sua preocupação. Se você quisesse detectair possíveis colisões como esta e avisair o user, você poderia fazer isso, embora eu não tenha idéia se isso valeria a pena.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.