以编程方式使用图库(或类似)应用程序打开 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);
在“我的应用程序”中的一项活动中,单击一个按钮会将 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);