我是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。在此先感谢您的帮助。
答案 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;
}