如何从Gallery中选择GIF文件?

时间:2017-05-11 05:15:43

标签: android android-studio

我是Android开发的新手。我目前正在一个应用程序中工作,我必须从库中选择GIF文件。我使用下面的代码

image_gif.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.setType("image/gif");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_GIF_REQUEST);

但是通过使用上面的代码,我的图库显示了所有类型的文件(.jpeg,.png,.mp4等)。每当我选择其中一个文件时,我的应用程序将崩溃并给出badTokenException。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

使用下面的代码列出你的SD卡中的所有gif,然后让用户从列表中选择特定的gif。

private List<String> getListOfFiles(String path) {

    File files = new File(path);

    FileFilter filter = new FileFilter() {

        private final List<String> exts = Arrays.asList("gif");

        @Override
        public boolean accept(File pathname) {
            String ext;
            String path = pathname.getPath();
            ext = path.substring(path.lastIndexOf(".") + 1);
            return exts.contains(ext);
        }
    };

    final File [] filesFound = files.listFiles(filter);
    List<String> list = new ArrayList<String>();
    if (filesFound != null && filesFound.length > 0) {
        for (File file : filesFound) {
           list.add(file.getName());
        }
    }

    return list;
}