Autore Topic: problema path image  (Letto 528 volte)

Offline david3ff3

  • Nuovo arrivato
  • *
  • Post: 27
  • Respect: 0
    • Mostra profilo
problema path image
« il: 05 Marzo 2014, 11:01:19 CET »
0
salve vorrei ricevere uri di un immagine nell emulatore 4.2 e su bluestack funziona tutto nel mio cell htc one con android 4.4 non funziona (ho forse perchè non ha l sd) riporto il codice
Codice (Java): [Seleziona]
public void onActivityResult(int requestCode, int resultCode, Intent data) {
                 final EditText testofile = (EditText) findViewById(R.id.editText1);
        if (resultCode == RESULT_OK) {
            if (requestCode == SELECT_PICTURE) {
                Uri selectedImageUri = data.getData();
                String filePath = null;
               // String selectedImagePath = getPath(selectedImageUri);
               // System.out.println("Image Path : " + selectedImagePath);
                try {
                    // OI FILE Manager
                    String filemanagerstring = selectedImageUri.getPath();
 
                    // MEDIA GALLERY
                    String selectedImagePath = getPath(selectedImageUri);
 
                    if (selectedImagePath != null) {
                        filePath = selectedImagePath;
                        Toast.makeText(getApplicationContext(), filePath, Toast.LENGTH_SHORT).show();
                       
                        testofile.setText(filePath);
                       
           
                    } else if (filemanagerstring != null) {
                        filePath = filemanagerstring;
                        Toast.makeText(getApplicationContext(), filePath, Toast.LENGTH_SHORT).show();
                        testofile.setText(filePath);
                    } else {
                        Toast.makeText(getApplicationContext(), "Unknown path",
                                Toast.LENGTH_LONG).show();
                       // Log.e("Bitmap", "Unknown path");
                    }
 
                   
                } catch (Exception e) {
                    Toast.makeText(getApplicationContext(), "Internal error",
                            Toast.LENGTH_LONG).show();
                  //  Log.e(e.getClass().getName(), e.getMessage(), e);
                }
            }

Codice (Java): [Seleziona]
public String getPath(Uri contentUri) {
                  String result;
                    Cursor cursor = getContentResolver().query(contentUri, null, null, null, null);
                    if (cursor == null) { // Source is Dropbox or other similar local file path
                        result = contentUri.getPath();
                    } else {
                        cursor.moveToFirst();
                        int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
                        result = cursor.getString(idx);
                        cursor.close();
                    }
                    return result;
    }
l errore stampato è couldn't read row 0, col -1 from cursorwindow. make sure the cursor is initialized cyrrectly
« Ultima modifica: 05 Marzo 2014, 11:07:45 CET da david3ff3 »