2012-03-25 5 views
1

Ich möchte die Kameraaktivität starten und die nachfolgenden Bilder in meinen privaten App-Speicher ablegen. Da die Kamera keine Schreibberechtigung für dieses Verzeichnis hat, kann sie dort keine Bilder speichern.Kameraaktivität mit alternativen Berechtigungen starten

Ich könnte meine private App Speicherwelt schreibbar machen, aber das vereitelt den Zweck, es privat zu haben.

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, 
      Uri.fromFile(new File(this.getBaseContext().getDir(PHOTOHUNT_DIRNAME, MODE_PRIVATE), "filename"))); 
    startActivityForResult(cameraIntent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 
} 

Etwas wie oben wäre Idee. Offensichtlich funktioniert das aus den oben genannten Gründen nicht.

+0

Setzen Sie das Byte-Array des Bildes auf SharedPreferences? Ich habe das nicht versucht, aber es kam mir gerade in den Sinn. Oder wenn Ihre vorherigen Aktivitäten irgendwie Zugriff auf diesen Speicher haben, beenden Sie die Kameraaktivität mit den Fotos, die zuvor im Speicher gehalten wurden (keine gute Idee, ja) und speichern Sie sie ab, wo Sie können. –

Antwort

1

Ich möchte die Kameraaktivität starten und sie nachfolgende Bilder in meinem privaten App-Speicher ablegen lassen.

Das ist nicht möglich, sorry. Verwenden Sie entweder das Objekt Camera selbst, oder schreiben Sie die Fotos in den Speicher, der weltweit beschreibbar ist, und verschieben Sie sie dann selbst in Ihren lokalen App-Store.