以编程方式使用图库(或类似)应用程序打开 gif 文件

Opening gif file using gallery(or similar) app programmatically

在“我的应用程序”中的一项活动中,单击一个按钮会将 gif 保存在一个文件夹中,该文件夹在我打开我的图库应用程序时会显示。如何在使用 intent 或类似的东西保存后立即打开文件?

我是这样省钱的:

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File gifFile = new File(mediaStorageDir.getPath() + File.separator +
                    "GIF_"+ timeStamp + ".gif");
FileOutputStream outStream = null;
try{
    outStream = new FileOutputStream(gifFile);
    outStream.write(generateGIF());
    outStream.close();
}catch(Exception e){
    e.printStackTrace();
}

这似乎不起作用:

Uri fileUri = Uri.fromFile(gifFile);
startActivity(new Intent(Intent.ACTION_VIEW, fileUri));

您需要使用 setDataAndType 来传递文件 URI 和数据类型:

Uri fileUri = Uri.fromFile(gifFile);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(fileUri,"image/gif");
startActivity(intent);