4

Je dois sécuriser les images que je prends. à partir de android Android Training je suis en mesure de prendre l'image en taille réelle. mais ce n'est pas mon besoin. J'ai besoin d'enregistrer l'image en taille réelle pour mettre en cache dir (/ data/data // cache) et je vais supprimer ce dossier de cache lorsque l'utilisateur quitte mon application.Comment enregistrer un fichier image capturé dans data/data/<package.name>/cache?

Ceci est mon code, que le fichier est créé avec succès dans le répertoire de cache. mais la taille du fichier est égal à zéro, aucune image écrite

static final int REQUEST_TAKE_PHOTO = 1; 

private void dispatchTakePictureIntent() { 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    // Ensure that there's a camera activity to handle the intent 
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) { 
     File file=null; 
     try { 
      String fileName = "506214"; 
      file = File.createTempFile(fileName, null, this.getCacheDir()); 
     } catch (IOException e) { 
      // Error while creating file 
     } 
     photoURI = Uri.fromFile(file); 
     Toast.makeText(this, photoURI.toString(), Toast.LENGTH_SHORT).show(); 
      takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,photoURI); 
      startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO); 
    } 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(requestCode == REQUEST_TAKE_PHOTO && resultCode == RESULT_OK){ 
     camera_image.setImageURI(photoURI); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

Répondre

0

essayer mon ami

File imagesFolder = new File(Environment.getExternalStorageDirectory(), "MyImages"); 
    imagesFolder.mkdirs(); // <---- 
    File image = new File(imagesFolder, "image_001.jpg"); 
    Uri uriSavedImage = Uri.fromFile(image); 
    imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage); 

et ne pas oublier de dd permisoon dans le fichier manifiest

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

désolé bro .. ne pas créer des fichiers dans data/data/myapp/cache – AnonymousObject