How can I display images from a specific folder on android gallery

后端 未结 5 1936
轮回少年
轮回少年 2020-11-30 08:25

How can I display all images from a specific folder on android gallery like, for example, whatapp does. I`m using MediaScannerConnectionClient

File folder =         


        
5条回答
  •  执念已碎
    2020-11-30 08:53

    Hi you can use the code below, i hope it helps you .

    package com.example.browsepicture;
    
    import java.io.File;
    
    import android.app.Activity;
    import android.content.Context;
    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.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class BrowsePicture2 extends Activity {
        String SCAN_PATH;
        File[] allFiles ;
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_browse_picture);
    
            File folder = new File(Environment.getExternalStorageDirectory().getPath()+"/aaaa/");
            allFiles = folder.listFiles();
    
            ((Button) findViewById(R.id.button1))
                    .setOnClickListener(new OnClickListener() {
                        public void onClick(View arg0) {
                            new SingleMediaScanner(BrowsePicture2.this, allFiles[0]);
                        }
                    });
        }
    
        public class SingleMediaScanner implements MediaScannerConnectionClient {
    
            private MediaScannerConnection mMs;
            private File mFile;
    
            public SingleMediaScanner(Context context, File f) {
                mFile = f;
                mMs = new MediaScannerConnection(context, this);
                mMs.connect();
            }
    
            public void onMediaScannerConnected() {
                mMs.scanFile(mFile.getAbsolutePath(), null);
            }
    
            public void onScanCompleted(String path, Uri uri) {
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(uri);
                startActivity(intent);
                mMs.disconnect();
            }
    
        }
    }
    

提交回复
热议问题