Crear carpeta en Android

import java.io.File; File folder = new File(Environment.getExternalStorageDirectory() + "/TollCulator"); boolean success = true; if (!folder.exists()) { //Toast.makeText(MainActivity.this, "Directory Does Not Exist, Create It", Toast.LENGTH_SHORT).show(); success = folder.mkdir(); } if (success) { //Toast.makeText(MainActivity.this, "Directory Created", Toast.LENGTH_SHORT).show(); } else { //Toast.makeText(MainActivity.this, "Failed - Error", Toast.LENGTH_SHORT).show(); } 

Lo anterior debería crear una carpeta en mi tarjeta SD si no existe, si lo hace, entonces no haga nada. Aunque el brindis funciona en función de la condición, pero no crea un directorio cuando no existe. Alguna idea de como resolverlo?

Mi Manifest ve así:

              

Actualización : actualicé mi manifiesto y actualicé mi código, pero todavía no está creando la carpeta en mi tarjeta SD. Tenga en cuenta que estoy usando Eclipse y ejecutando la aplicación directamente en mi teléfono (GNex VZW) en lugar de usar un AVD.

Agregue este permiso en Manifest ,

 File folder = new File(Environment.getExternalStorageDirectory() + File.separator + "TollCulator"); boolean success = true; if (!folder.exists()) { success = folder.mkdirs(); } if (success) { // Do something on success } else { // Do something else on failure } 

cuando ejecuta la aplicación, vaya también DDMS-> Explorador de archivos-> carpeta mnt-> carpeta sdcard-> carpeta de creación de llamadas

Si está tratando de crear más de una carpeta en la raíz de la tarjeta sd, p. Ej. "Environment.getExternalStorageDirectory() + "/Example/Ex App/"

entonces en lugar de folder.mkdir() usaría folder.mkdirs()

He cometido este error en el pasado y tardé una eternidad en descubrirlo