Ich versuche, einen Dateipfad von einem Aufnahmebild zu erhalten, das ich mit der Kameraabsicht mache. Unter dem Bild und die Rückkehr es funktioniert gut, aber wenn ich versuche, den Weg von der es in dem onActivityResult Verfahren zu erhalten, indem Daten aus Absicht bekommen und den Weg bekommen, erhalte ich folgende Fehlermeldung:Intent.getData.getPath() gibt einen Nullwert zurück
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1888, result=-1, data=Intent { act=inline-data (has extras) }} to activity {com.package.app/com.package.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List android.net.Uri.getPathSegments()' on a null object reference
Wie gesagt, die Bildaufnahme funktioniert, hat es sogar geschafft, es als Anlage an eine Mailing-App zu übermitteln, dort keine Probleme, aber seinen Weg zu finden, ist ein Problem. Hier ist der Code meiner onActivityResult Methode (Ich habe eine setText put() auf der Textview nur um zu sehen, was das getPath() Ergebnis sieht aus wie):
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK){
if(requestCode == 1){
imageUri = data.getData();
}
}
if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
imageUri = data.getData();
path = imageUri.getPath();
tv = (TextView) findViewById(R.id.tvField);
tv.setText(path);
}
}
Ohne die letzten 3 Zeilen, es funktioniert einwandfrei. Fehler zeigt auf die Linie:
path = imageUri.getPath();
Vielen Dank für ein Interesse an meinen Problemen im Voraus.
Hier ist es die Absicht, für die Kamera Anfrage
ibCam= (ImageButton) findViewById(R.id.ibCam);
ibCam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
Die Ergebnisse hängen von der Absicht ab, die Sie erstellen, um die Aktivität für das Ergebnis zu starten. Sie sollten das Code-Snippet einfügen, wo Sie die Aktivität starten – Dharmendra
Hinzugefügt dort ... – MilesWeirdo
'Nimmt das Bild und die Rückgabe funktioniert es gut. Du gibst ein Bild zurück? An wen? – greenapps