2012-05-25 14 views
6

Android varsayılan galeri uygulamasını açmak için aşağıdaki kodu kullanıyorum. Tüm görüntü klasörlerini sdcard altında açar. Sadece belirli bir klasörü nasıl açabilirim?Android'de galeriden belirli bir klasör nasıl açılır?

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
    intent.setType("image/*"); 
    startActivityForResult(Intent.createChooser(intent, "Pick any photo"), SELECT_IMAGE_FROM_GALLERY_CONSTANT); 
+0

http://stackoverflow.com/questions/13418807/how-can-i-display-images-from-a-specific-folder-on-android-gallery – ShawnFeatherly

cevap

7

Merhaba Lütfen aşağıdaki kodu kullanın. belirli bir klasör resmi alacaksınız.

kodu: Bu size yardımcı olacaktır

import java.io.File; 
import android.app.Activity; 
import android.content.Intent; 
import android.media.MediaScannerConnection; 
import android.media.MediaScannerConnection.MediaScannerConnectionClient; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 



public class SDCARD123Activity extends Activity implements MediaScannerConnectionClient{ 
    public String[] allFiles; 
private String SCAN_PATH ; 
private static final String FILE_TYPE="image/*"; 

private MediaScannerConnection conn; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    File folder = new File("/sdcard/Photo/"); 
    allFiles = folder.list(); 
// uriAllFiles= new Uri[allFiles.length];   
    for(int i=0;i<allFiles.length;i++) 
    { 
     Log.d("all file path"+i, allFiles[i]+allFiles.length); 
    } 
    // Uri uri= Uri.fromFile(new File(Environment.getExternalStorageDirectory().toString()+"/yourfoldername/"+allFiles[0])); 


    SCAN_PATH=Environment.getExternalStorageDirectory().toString()+"/Photo/"+allFiles[0]; 
    System.out.println(" SCAN_PATH " +SCAN_PATH); 

    Log.d("SCAN PATH", "Scan Path " + SCAN_PATH); 
    Button scanBtn = (Button)findViewById(R.id.scanBtn); 
    scanBtn.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View v) { 
     startScan(); 
    }}); 
    } 
    private void startScan() 
    { 
    Log.d("Connected","success"+conn); 
    if(conn!=null) 
    { 
    conn.disconnect(); 
    } 
    conn = new MediaScannerConnection(this,this); 
    conn.connect(); 
    } 
@Override 
public void onMediaScannerConnected() { 
    Log.d("onMediaScannerConnected","success"+conn); 
    conn.scanFile(SCAN_PATH, FILE_TYPE);  
} 
@Override 
public void onScanCompleted(String path, Uri uri) { 
    try { 
     Log.d("onScanCompleted",uri + "success"+conn); 
     System.out.println("URI " + uri);    
     if (uri != null) 
     { 
     Intent intent = new Intent(Intent.ACTION_VIEW); 
     intent.setData(uri); 
     startActivity(intent); 
     } 
     } finally 
     { 
     conn.disconnect(); 
     conn = null; 
     } 
     } 
} 

Umut.

+0

üzerinde bu sorunun daha fazla yanıtı vardır . – Santhosh

+0

Bu koddan galeride paylaşım seçeneğini çağırmak mümkün mü? – Santhosh

+0

Bir resimdeki paylaşma seçeneğini, programımdan belirli dizime ait herhangi bir yol var mı? – Santhosh

İlgili konular