ne peut pas créer de dossier dans /mnt/sdcard
Je pense que je suis en train de faire tout d'abord créer un dossier
que je peux écrire plus tard, dans mon application, mais elle ne semble pas fonctionner.
Tout d'indices quant à la façon dont j'ai échoué?
Correctement essaie de créer le répertoire /mnt/sdcard/bulletin de notes
J'ai uses-permission android:name="android.la permission.WRITE_EXTERNAL_STORAGE"
dans mon manifeste. Je suis en cours d'exécution sur un véritable appareil (Samsung Galaxy S) et je ne suis pas à l'aide de la
sdcard comme stockage tandis que son attachée à mon ordinateur.
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
//We can read and write the media
mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
//We can only read the media
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
Toast.makeText(this,"This Application needs a writable external storage (sdcard).",Toast.LENGTH_SHORT).show();
finish();
} else {
//Something else is wrong. It may be one of many other states, but all we need
// to know is we can neither read nor write
mExternalStorageAvailable = mExternalStorageWriteable = false;
Toast.makeText(this,"This Application needs a mounted external storage (sdcard).",Toast.LENGTH_SHORT).show();
finish();
}
File folder = new File(Environment.getExternalStorageDirectory () + "/gradeBook");
boolean success = false;
if(!folder.exists()){
success = folder.mkdir();
}
if (!success) {
Log.e("FILE", "can't create " + folder);
}
else
{
Log.i("FILE", "directory is created");
}
Voici le manifeste
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ulsanonline.gradebook"
android:versionName="@string/version"
android:installLocation="auto"
android:versionCode="2">
<uses-sdk android:minSdkVersion="8"></uses-sdk>
<application
android:icon="@drawable/icon"
android:debuggable="true"
android:persistent="false"
android:hasCode="true"
android:minSdkVersion="8">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<activity
android:name=".CourseWork"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Avez-vous, par hasard, avoir le disque monté sur votre ordinateur? Vous aurez la permission refusée si vous essayez d'écrire sur un disque connecté à un PC.
OriginalL'auteur Martin | 2011-08-03
Vous devez vous connecter pour publier un commentaire.
uses-permission
doit être placé directement comme<manifest>
enfant, de sorte qu'il devrait être:peut-être parce que mon application ne permet pas de contrôler la caméra et est simplement passer à une nouvelle activité pour prendre une photo. J'utilise Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); plutôt que de faire quoi que ce soit dans mes paquets.
OriginalL'auteur ayublin
Essayer cela,
OriginalL'auteur yeshbourne