2012-05-31 13 views
5

मुझे एक ऐप मिला है जो आपको एक छविबटन पर क्लिक करने देता है और फिर आपको एंड्रॉइड गैलरी या कैमरा पर लाता है। जो मैं खोज रहा हूं वह एक एक्टिविटी रीसेट विधि है जो क्लिक/ली गई छवि से छवि पथ को पुनर्प्राप्त करती है और इसे स्ट्रिंग में संग्रहीत करती है।एंड्रॉइड गैलरी में किसी छवि से पथ को मैं कैसे पुनर्प्राप्त कर सकता हूं?

क्या कोई मेरी मदद कर सकता है?

private void showImageDialog() { 
    final String [] items = new String [] {"From Camera", "From SD Card"}; 
    ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.R.layout.select_dialog_item,items); 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); 

    builder.setTitle("Select Image"); 
    builder.setAdapter(adapter, new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int item) { 
      if (item == 0) { 
       Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
       File file = new File(Environment.getExternalStorageDirectory(), 
            "tmp_avatar_" + String.valueOf(System.currentTimeMillis()) + ".jpg"); 
       mImageCaptureUri = Uri.fromFile(file); 

       try { 
        intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri); 
        intent.putExtra("return-data", true); 

        startActivityForResult(intent, PICK_FROM_CAMERA); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 

       dialog.cancel(); 
      } else { 
       Intent intent = new Intent(); 

       intent.setType("image/*"); 
       intent.setAction(Intent.ACTION_GET_CONTENT); 

       startActivityForResult(Intent.createChooser(intent, "Complete action using"), PICK_FROM_FILE); 
      } 
     } 
    }); 

    final AlertDialog dialog = builder.create(); 
    dialog.show(); 
} 

उत्तर

4

उपयोग इस कोड,

((Button) findViewById(R.id.Button01)) 
       .setOnClickListener(new OnClickListener() { 

        public void onClick(View arg0) { 

         // in onCreate or any event where your want the user to 
         // select a file 
         Intent intent = new Intent(); 
         intent.setType("image/*"); 
         intent.setAction(Intent.ACTION_GET_CONTENT); 
         startActivityForResult(Intent.createChooser(intent, 
           "Select Picture"), SELECT_PICTURE); 
        } 
       }); 


public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (resultCode == RESULT_OK) { 
      if (requestCode == SELECT_PICTURE) { 
       Uri selectedImageUri = data.getData(); 
       selectedImagePath = getPath(selectedImageUri); 

       Log.v("IMAGE PATH====>>>> ",selectedImagePath); 
      } 
     } 
    } 

    public String getPath(Uri uri) { 
     String[] projection = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = managedQuery(uri, projection, null, null, null); 
     int column_index = cursor 
       .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } 
} 

selectedImagePath छवि का मार्ग है: यहाँ onClick विधि गैलरी/कैमरा खुल जाता है।

संबंधित मुद्दे