在应用程序中,用户可以下载文件并在下载完成后打开它。
我可以打开窗口来选择这样的应用程序:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
Uri uri = Uri.parse("file://" + path);
intent.setDataAndType(uri,"image/*");
context.startActivity(intent);
但是这里" image / *"是硬编码的。在我的应用程序中,用户可以下载具有不同扩展名的文件(txt,gif,png,doc,.etc)。
当然我可以这样做:
if(fileExt.equels("png") || fileExt.equels("jpg") || fileExt.equels("gif") )
intent.setDataAndType(uri,"image/*");
但是我需要为所有扩展名编写代码= /
那么,您能否提出更好的方法来过滤此文件扩展名?
答案 0 :(得分:0)
您可以使用活动选择器:(当然,您需要提供MIME类型作为image / *,以便只有可以处理图像的应用程序才会出现在活动选择器中。
Intent chooser = Intent.createChooser(intent, title);
// Verify the intent will resolve to at least one activity
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(chooser);
}