【问题标题】:Open built in gallery app with an album打开带有相册的内置画廊应用程序
【发布时间】:2016-05-27 07:18:25
【问题描述】:

如何在屏幕上打开特定专辑的内置图库应用?

我知道此代码可用于启动图库应用,但如何过滤特定相册?还是打开?

Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);

【问题讨论】:

  • 你有那个专辑Uri吗?
  • @SohailZahid 你到底是什么意思?这是一张有名字的本地专辑
  • 应该有该专辑的内容 uri。

标签: java android android-gallery


【解决方案1】:

假设您的照片存储在youCam 文件夹中,也可以是任何文件夹

如果您要针对 API 23 或更高版本进行编译,请获得运行时权限 READ_EXTERNAL_STORAGE

File file = new File(Environment.getExternalStorageDirectory().getPath() + "/youCam);

File[] listFile = file.listFiles();
new HomeScreen.SingleMediaScanner(HomeScreen.this, listFile[0]);
...
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(), null);
        }

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

    }

这将在默认图库中打开该文件夹中的所有图像。

【讨论】:

  • 感谢代码,但我的问题是,默认图库下已经存在一张专辑,基本上是 DCIM 文件夹,我想我想展示该专辑
  • @vishal 您只需创建该文件夹位置的文件File file = new File(Environment.getExternalStorageDirectory().getPath() + "/Camera/DCIM);
  • 如果我想打开一个下载文件夹,如何给出这个路径?当我尝试这个时: File file = new File(Environment.getExternalStorageDirectory().getPath() + "/download");它抛出空指针异常,可能是路径错误。如何在打开之前在图库中创建新文件夹/相册? @SohailZahid
  • @Sid 你在编译 API 23。
  • @Sid 您可以使用文件浏览属性获取该路径 [i.imgur.com/5hdCGEJ.png]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-04
  • 1970-01-01
  • 2021-12-27
  • 2019-07-13
  • 1970-01-01
  • 2021-09-16
相关资源
最近更新 更多