2017-06-29 4 views
0

I ont le problème geting Uri.getPath() comprend/-1/1/ci-dessous, l'URI se faisait à l'intérieurapplications Uri.getPath() a/-1/1/devant

protected void onActivityResult(int reqCode, int resultCode, Intent data) 

à partir de plusieurs images PICK comme suit

ClipData.Item item = clipData.getItemAt(i); 
Uri uri = item.getUri(); 

J'essayer d'obtenir le fichier d'Uri, les exemples de codes suivants toujours obtenir l'erreur: FileNotFound

private void getImg(Uri uri){ 
    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inJustDecodeBounds = true; 
    BitmapFactory.decodeFile(new File(uri.getPath()).getAbsolutePath(), options); 
    int imageHeight = options.outHeight; 
    int imageWidth = options.outWidth; 
    /....... some code ... 

    // ArrayList<File> 
    mFile.add(new File(uri.getPath()); 
} 



06-29 12:33:34.829 8160-8160/com.jinn.mutita.photoImx E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: 
/-1/1/content:/media/external/images/media/15878/ORIGINAL/NONE/3385104: open failed: ENOENT (No such file or directory) 

Howeve r si je reçois comme suit et enregistrer dans un fichier local: cela peut être fait.

InputStream input = thiscontext.getContentResolver().openInputStream(uri); 

Mais je peux faire pour flux d'entrée de sécurité d'abord localement, s'il vous plaît aider, je recherche déjà, mais pas sûr que le format Uri ont été modifiés ou maintenant.

Comment gérer le fichier avec le chemin d'Uri? . Merci

Répondre