Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在Gallery应用程序的文件夹中显示图像_Android - Fatal编程技术网

Android 在Gallery应用程序的文件夹中显示图像

Android 在Gallery应用程序的文件夹中显示图像,android,Android,我希望在gallery应用程序中显示SD卡上特定文件夹中的照片。目前,此代码似乎显示来自以下位置的图像: startActivity(new Intent(Intent.ACTION_PICK, Uri.parse("content://media/external/images/media"))); 在某种程度上,这正是我希望它出现在我的应用程序中的方式。如何获取它,使其仅显示此文件夹中的图像:“sdcard/Pictures/Memorial”?您可以执行以下操作:- Intent int

我希望在gallery应用程序中显示SD卡上特定文件夹中的照片。目前,此代码似乎显示来自以下位置的图像:

startActivity(new Intent(Intent.ACTION_PICK, Uri.parse("content://media/external/images/media")));

在某种程度上,这正是我希望它出现在我的应用程序中的方式。如何获取它,使其仅显示此文件夹中的图像:“sdcard/Pictures/Memorial”?

您可以执行以下操作:-

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
    + "/myFolder/");
intent.setDataAndType(uri, "text/csv");
startActivityForResult(intent, ACTIVITY_SELECT_IMAGE);
然后在onActivityResult中,您可以从onActivityResult方法的intent参数中获取图像的Uri,并将它们显示在您喜欢的任何地方

若你们不知道如何解析图库中的图像,那个就用谷歌搜索吧。 有许多解决方案

从文件夹中拾取图像的示例代码
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;
        }
       }
}