Meine if-Bedingung auf imgFile.exist()
gibt mir falsch, aber ich kann die Datei in dem Pfad vorhanden sehen, wenn Log.d das Ergebnis ausgibt.Warum existiert meine Datei nicht, obwohl ich einen Pfad angegeben habe, der existiert?
ich einfach bin versucht, ein Bild von einem Pfad zu laden es als Hintergrund eines activitys Miniatur-Bild zu setzen
Ich habe auch die Lese/Schreib-Erlaubnis in meinem Manifest android.permission.WRITE_EXTERNAL_STORAGE
LADEN A BILD:
File imgFile = new File(getRowItem.getImgURI().trim());
Log.d("TAGG", "FILE PATH: " + imgFile.getPath());
// imgFile's path: /storage/emulated/0/TravelDiary/img_1461684314337.jpg
if(imgFile.exists()){
//it never reach inside here
Log.d("TAGG", "FILE ABSOLUTE PATH: " + imgFile.getAbsolutePath());
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
Drawable drawable = new BitmapDrawable(getResources(), myBitmap);
imageView.setBackground(drawable);
}
SPEICHERN BILD:
ein Bild gespeichert wird, wenn der Benutzer von einem intentChooser aus einem Bild caputure wählt entweder die Kamera oder das Bild von gallary
public void ImagePicker(View v){
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
if (PackageManager.PERMISSION_GRANTED == ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) && PackageManager.PERMISSION_GRANTED == ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
final File rootdir = new File(Environment.getExternalStorageDirectory() + File.separator + "TravelDiary");
rootdir.mkdirs();
final String filename = "img_" + System.currentTimeMillis() + ".jpg";
final File sdImageMainDirecotry = new File(rootdir, filename);
outputFileUri = Uri.fromFile(sdImageMainDirecotry);
...
...
} else {
//if permission is not granted, then we ask for it
ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}else{
Toast.makeText(this, "External storage not available", Toast.LENGTH_SHORT).show();
}
}
Berechtigungen in meinem Manifest Auswahl:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.muddii.traveldiary">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
...
...
...
</manifest>
Mögliche Duplikat [android - File.Exists() gibt false für vorhandene Datei (für etwas anderes als pdf)] (http : //stackoverflow.com/questions/21579468/android-file-exists-returns-false-for-existing-file-for-anyything-different) – pablisco
Vielleicht haben Sie 'READ_EXTERNAL_STORAGE' oder' WRITE_EXTERNAL_STORAGE' nicht als Erlaubnis angefordert. Wenn Sie haben, vielleicht [es gibt ein Problem, wie Sie das tun] (https://commonsware.com/blog/2015/08/31/hey-where-did-my-permission-go.html). – CommonsWare
@CommonsWare Ich habe das getan, bevor ich die Frage gestellt habe. Das ist nicht, wo das Problem ist, denke ich – Muddz