Android 如何从多媒体资料中选择GIF文件?
我是android开发新手。我目前正在使用一个应用程序,在这个应用程序中,我必须从图库中选择GIF文件。我正在使用下面的代码Android 如何从多媒体资料中选择GIF文件?,android,android-studio,Android,Android Studio,我是android开发新手。我目前正在使用一个应用程序,在这个应用程序中,我必须从图库中选择GIF文件。我正在使用下面的代码 image_gif.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setType("ima
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等)。每当我选择其中一个文件时,我的应用程序都会崩溃并出现异常。提前感谢您的帮助。用下面的代码列出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;
}
私有列表getListOfFiles(字符串路径){
文件=新文件(路径);
FileFilter=newfilefilter(){
私有最终列表exts=Arrays.asList(“gif”);
@凌驾
公共布尔接受(文件路径名){
字符串扩展;
String path=pathname.getPath();
ext=路径子字符串(路径lastIndexOf(“.”+1);
返回exts.contains(ext);
}
};
最终文件[]filesFound=files.listFiles(过滤器);
列表=新的ArrayList();
如果(filesFound!=null&&filesFound.length>0){
for(文件:filesFound){
list.add(file.getName());
}
}
退货清单;
}
chech此链接感谢您的回复,但我不知道何时调用此方法以及字符串路径是什么意思。单击按钮,打开pic gif文件库,只需显示SD卡中所有gif的列表,然后选择一个即可。就像我们可以参考whatsapp媒体共享一样,点击gallery,我们可以获得图像、视频和GIF的列表。这里的字符串路径是绝对文件路径。