Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(externalFileObj));
Absicht Standard-Kamera-Aktivität zu nennen. Um das vollständige Bild zu erhalten, müssen Sie intention.putExtra() angeben. Dies erfordert jedoch immer einen URI, der nur für externe Speicherdateien funktioniert.
I versucht, ein temp.jpg Bild im internen Speicher zu erzeugen und seine URI
Uri.fromFile(new File(getFilesDir() + "/temp.jpg"));
aber die Kamera passieren Aktivität wird nicht wieder zurück, nachdem das Bild erfasst wird.
So gibt es keine Möglichkeit, Bild in voller Größe von Standard-Kamera-Anwendung in unserer Tätigkeit zu erhalten, ohne externen Speicher zu verwenden? Angenommen, das Gerät hat keine SD-Karte oder wird derzeit verwendet, kann ich es nicht vermeiden?
Ja ich weiß, wir können unsere eigene Kamerapreview-Oberfläche erstellen, aber ich möchte die Standard-Kamera-Anwendung verwenden, wie es natürlich ist mit vielen weiteren Optionen.
Danke.
Nur hinzufügen, Sie werden immer noch nicht zufrieden sein, wenn Sie Root-Berechtigungen haben. Da das von der Kameraaktivität im internen Speicherordner zurückgegebene Ergebnisbild eine andere Berechtigungsgruppe (-rwxrwx ---) hat und Ihre App nicht darauf zugreifen kann, obwohl es sich in Ihrem Anwendungsbereich und in Ihrem eigenen erstellten Ordner befindet! – Pritam
Können Sie sagen, wie kann man Root-Berechtigungen erhalten und wie kann ich ein neues Verzeichnis im schreibbaren Modus erstellen? Ich habe das gleiche Problem ... –
Root-Erlaubnis sind eine Art von Benutzer hacken sein Handy für zusätzliche Privilegien. Als Entwickler rate ich davon ab, solche Fälle nicht anzunehmen, wenn Sie beabsichtigen, eine App im Android Market zu veröffentlichen und nicht nur eine begrenzte Zielgruppe, die Droiden bewurzelt haben, ansprechen möchten. Auch das ist ziemlich ältere Post nicht sicher, ob neuere APIs einen Ausweg bieten. – Pritam