单击按钮一次打开文件夹(SD卡)中的所有图像

Posted

技术标签:

【中文标题】单击按钮一次打开文件夹(SD卡)中的所有图像【英文标题】:Open all the images in a folder (SD card) at once on button click 【发布时间】:2016-08-02 18:08:15 【问题描述】:

我想要什么:点击一个按钮应该会打开 SD 卡上特定文件夹中的所有图像。

发生了什么:如果文件夹有多个图像,则应用仅显示一个图像。

按钮点击方法代码:

private void showGallery() 

    if ((personName.getText().toString() != null && !personName.getText().toString().isEmpty())
            && (mobileNo.getText() != null && !mobileNo.getText().toString().isEmpty())) 

        File folder = new File(Environment.getExternalStorageDirectory(),
                    photoPath + personName.getText().toString() + "_" + mobileNo.getText().toString() + "/");

        File[] allFiles = folder.listFiles();
        if (allFiles != null && allFiles.length > 0) 
            for (File child : allfiles) 
                new SingleMediaScanner(getActivity(), child);
            
        
        

SingleMediaScanner 代码:

public class SingleMediaScanner implements MediaScannerConnection.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(), "image/*");
        

        public void onScanCompleted(String path, Uri uri) 
            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
            intent.setData(uri);
            startActivity(intent);
            mMs.disconnect();
        
    

【问题讨论】:

您希望在哪里显示您的图像?在列表视图中? @alexeypolusov :不,想在图库应用程序中打开该文件夹或打开该文件夹。 【参考方案1】:

使用可滑动卡片库(类似 Tinder)。这将显示所有图像的堆栈。 以下链接对您有帮助: https://android-arsenal.com/details/1/222

【讨论】:

我不想使用 Library 。想通过 MediaScanner 解决。

以上是关于单击按钮一次打开文件夹(SD卡)中的所有图像的主要内容,如果未能解决你的问题,请参考以下文章