2016-11-25 1 views
-1

Ich möchte nur die Bilder aus der Galerie auswählen, die von der Kamera angeklickt werden, nicht aus anderen Quellen.Wie wählt man nur Kamera-Capture-Bilder aus der Galerie?

Cursor imagecursor = getApplicationContext().getContentResolver().query(
       android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
       new String[] {MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID}, null, 
       null, null); 

Diese Abfrage gibt mir alle Bilder.

möchte ich den Weg zur Kamera Bilder irrespectice der Galerie und Kamera intent.Is gibt einige generische Methode, die den Weg der aufgenommenen Bilder Weg zurück

+0

versuchen diese http://stackoverflow.com/questions/4484158/list-all-camera-images-in-android –

+0

ich den Weg zur Kamera Bilder irrespectice der Galerie und Kamera intent.Is es einige allgemeine wollen Methode, die den Pfad der aufgenommenen Bilder zurückgibt. –

+0

können Sie den Pfad des öffentlichen Verzeichnisses von Bildern erhalten, damit dies http://stackoverflow.com/questions/16993213/how-can-i-find-out-the-camera-images-folder-of-an-android helfen kann -Telefon –

Antwort

0

hier ist ein Beispiel hoffen, dass es helfen !!

package com.mahesh.gallerytestapp; 


public class MainActivity extends Activity { 

Uri selectedImageUri; 
String selectedPath; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
Button b = (Button) findViewById(R.id.bGallery); 
Button bCam= (Button) findViewById(R.id.bCamera); 
ImageView preview = findViewById(R.id.preview); 
bCam.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, 100); 
} 
}); 


b.setOnClickListener(new OnClickListener() { 

@Override 
public void onClick(View v) { 
    // TODO Auto-generated method stub 
openGallery(10); 
} 
}); 
} 



public void openGallery(int req_code){ 

    Intent intent = new Intent(); 

    intent.setType("image/*"); 

    intent.setAction(Intent.ACTION_GET_CONTENT); 

    startActivityForResult(Intent.createChooser(intent,"Select file to upload "), req_code); 

} 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 



    if (resultCode == RESULT_OK) { 
    if(data.getData() != null){ 
     selectedImageUri = data.getData(); 
    }else{ 
     Log.d("selectedPath1 : ","Came here its null !"); 
     Toast.makeText(getApplicationContext(), "failed to get Image!", 500).show(); 
    } 

    if (requestCode == 100 && resultCode == RESULT_OK) { 
      Bitmap photo = (Bitmap) data.getExtras().get("data"); 
      selectedPath = getPath(selectedImageUri); 
      preview.setImageURI(selectedImageUri); 
      Log.d("selectedPath1 : " ,selectedPath); 

     } 

     if (requestCode == 10) 

     { 

      selectedPath = getPath(selectedImageUri); 
      preview.setImageURI(selectedImageUri); 
      Log.d("selectedPath1 : " ,selectedPath); 

     } 

    } 

} 


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); 

} 

} 
Verwandte Themen