单击按钮一次打开文件夹(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卡)中的所有图像的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮在 div 中打开新选项卡

如何将可绘制资源中的图像保存到 SD 卡?

我们如何在按钮单击时在 pyqt 中打开特定于选项卡的选项卡?

获取存储在 sd 卡 + android 中的图像的缩略图 Uri/路径

怎么单击一个按钮打开一个网页,我是要在新窗口中打开,不是在本窗口中打开.

如何在单击反应中的按钮时在新选项卡中打开页面?我也想向该页面发送一些数据