Maison >Java >javaDidacticiel >Pourquoi ne puis-je pas créer un répertoire dans Android 10, même avec les autorisations nécessaires ?
Je ne parviens pas à créer un répertoire sous Android 10. Cela fonctionne sur les appareils jusqu'à Android Oreo. J'ai essayé deux façons de créer. dossiers.
UtilisationFile f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pastebin"); if (!f.isFile()) { if (!(f.isDirectory())) { success = f.mkdir(); } }ce qui signifie que le répertoire n'est pas créé.
Utilisation
File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Pastebin"); if (!f.isFile()) { if (!(f.isDirectory())) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { try { Files.createDirectory(Paths.get(f.getAbsolutePath())); } catch (IOException e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), R.string.unable_to_download, Toast.LENGTH_LONG).show(); } } else { f.mkdir(); } } }
J'ai implémenté les autorisations d'exécution et
pzy64.pastebinpro W/System.err: java.nio.file.AccessDeniedException: /storage/emulated/0/Pastebin pzy64.pastebinpro W/System.err: at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:391) pzy64.pastebinpro W/System.err: at java.nio.file.Files.createDirectory(Files.java:674)`
sont tous set.
Réponse :
Comme révélé pour la première fois en mars 2019, vous ne pouvez plus accéder à aucun stockage externe ou stockage amovible par défaut sur Android 10 Location. Cela inclut Environment.getExternalStorageDirectory() et d'autres méthodes sur Environment (par exemple, getExternalStoragePublicDirectory()).
Pour Android 10 et 11, vous pouvez ajouter android:requestLegacyExternalStorage="true" à l'élémentUtilisez des méthodes sur le contexte (telles que getExternalFilesDir()) pour accéder aux répertoires du stockage externe sur lesquels votre application peut écrire. Vous n'avez besoin d'aucune autorisation pour utiliser ces répertoires sur Android 4.4. Cependant, lorsque votre application est désinstallée, les données stockées ici seront supprimées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!