Autore Topic: Recuperare il path dell'immagine  (Letto 512 volte)

Offline PhateDev

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Debian 8
Recuperare il path dell'immagine
« il: 31 Ottobre 2015, 16:59:34 CET »
0
Ciao a tutti,
da Android Device Monitor ho caricato delle immagini al seguente path
storage/18EE-3D10/Pictures
Ho il seguente evento, associato al click del bottone, che apre la gallery e mi permette di selezionare l'immagine e la associa ad una ImageView.

Codice (Java): [Seleziona]
    View.OnClickListener lstAddImg = new View.OnClickListener() {


        @Override
        public void onClick(View v) {
                Intent intent = new Intent();
                intent.setType("image/*");
                intent.setAction(Intent.ACTION_GET_CONTENT);
                startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE);
        }
    };

e poi ho le seguenti due funzioni che, in teoria, dovrebbero rendermi il path dell'immagine e mi permette poi di salvarla nel database.

Codice (Java): [Seleziona]
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            if (requestCode == SELECT_PICTURE) {
                Uri selectedImageUri = data.getData();

                File myFile = new File(selectedImageUri.getPath());

                selectedImagePath = myFile.getAbsolutePath();
                System.out.println("Image Path : " + selectedImagePath);
                img.setImageURI(selectedImageUri);
                selectedImagePath=getRealPathFromURI(getApplicationContext(),selectedImageUri);
            }
        }
        System.out.println("Image Path : " + selectedImagePath);
    }


    public String getRealPathFromURI(Context context, Uri contentUri) {
        Cursor cursor = null;
        try {
            String[] proj = { MediaStore.Images.Media.DATA };
            cursor = context.getContentResolver().query(contentUri,  proj, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();
            return cursor.getString(column_index);
        } finally {
            if (cursor != null) {
                cursor.close();
            }
        }
    }

solo che non mi prende il path assoluto dell'immagine, e infatti quando tento di recuperarla dal database non funzione.
Il path che restituisce è il seguente: Image Path : /document/image:26

Offline PhateDev

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus 5
  • Sistema operativo:
    Debian 8
Re:Recuperare il path dell'immagine
« Risposta #1 il: 05 Novembre 2015, 18:37:59 CET »
0
Nessuno saprebbe aiutarmi?