2010-10-22 15 views
5

Quiero obtener la ruta de la galería de carpeta de la cámara androide para guardar las imágenes en quecómo obtener la ruta de la carpeta de la galera de Android dinámicamente?

en diferentes teléfonos móviles es diferente, por ejemplo, en la galaxia es

/sdcard/DCIM/camera/image.jpg 

y en otros teléfonos por ejemplo

/sdcard/media/images/image.jpg 

hot get ruta a la carpeta de la galería de forma dinámica?

cualquier ayuda sería apreciada.

Respuesta

3

Puede utilizar siguiente ejemplo de Explorador de archivos que muestran todas las cosas de su teléfono y usted va a elegir el artículo de Galary

FileExplorer.java

package com.fileUpload; 

    import java.io.File; 
    import java.util.ArrayList; 
    import java.util.List; 
    import android.app.AlertDialog; 
    import android.app.ListActivity; 
    import android.content.DialogInterface; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.ArrayAdapter; 
    import android.widget.ListView; 
    import android.widget.TextView; 

    public class FileExplorer extends ListActivity { 

    private List<String> item; 
    private List<String> path; 
    private String root="/"; 
    private TextView myPath; 

    /** Called when the activity is first created. */ 
    @Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.file); 
    myPath = (TextView)findViewById(R.id.path); 
    getDir(root); 
} 

private void getDir(String dirPath) 
{ 
myPath.setText("Location: " + dirPath); 

item = new ArrayList<String>(); 
path = new ArrayList<String>(); 

File f = new File(dirPath); 
File[] files = f.listFiles(); 

if(!dirPath.equals(root)) 
{ 

    item.add(root); 
    path.add(root); 

    item.add("../"); 
    path.add(f.getParent()); 

} 

for(int i=0; i < files.length; i++) 
{ 
    File file = files[i]; 
    path.add(file.getPath()); 
    if(file.isDirectory()) 
    item.add(file.getName() + "/"); 
    else 
    item.add(file.getName()); 
} 

ArrayAdapter<String> fileList = 
    new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, item); 
setListAdapter(fileList); 
} 

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 

File file = new File(path.get(position)); 

    if (file.isDirectory()) 
    { 
    if(file.canRead()) 
     getDir(path.get(position)); 
    else 
    { 
     new AlertDialog.Builder(this) 
     .setIcon(R.drawable.icon) 
     .setTitle("[" + file.getAbsolutePath() + "] folder can't be read!") 
     .setPositiveButton("OK", 
     new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      } 
     }).show(); 
    } 
    } 
    else 
    { 
     Bundle b=new Bundle(); 
     b.putString("param1",file.getAbsolutePath()); 
     Intent i=new Intent(this,DemoActivity.class); 
     i.putExtras(b); 
     startActivity(i); 

} 
} 
} 
+0

he intentado ur código, sino que está dando NullPointerException en getdir. –

+0

quizás intentelo ahora. – FabianCook

Cuestiones relacionadas