Android打开文件,让用户选择哪个程序可以打开它

Android打开文件,让用户选择哪个程序可以打开它,android,excel,file,Android,Excel,File,我正在开发一个程序,需要在ListView中显示列表文件。我得到了这个列表,其中有路径\的\个文件。但这就是我想问的:当我点击一个项目时,用户如何打开它?我想我想要一个弹出窗口,让用户选择哪个程序用户想要打开它。 例如:我有一个路径:/sdcard/file.xls。当用户单击时,弹出窗口显示一些应用程序,如:Microsoft Excel、Google电子表格(我只想使用xls,它只使用xls,仍然可以)。我怎么做 File sdCardRoot = Environment.getExtern

我正在开发一个程序,需要在ListView中显示列表文件。我得到了这个列表,其中有路径\的\个文件。但这就是我想问的:当我点击一个项目时,用户如何打开它?我想我想要一个弹出窗口,让用户选择哪个程序用户想要打开它。 例如:我有一个路径:/sdcard/file.xls。当用户单击时,弹出窗口显示一些应用程序,如:Microsoft Excel、Google电子表格(我只想使用xls,它只使用xls,仍然可以)。我怎么做

File sdCardRoot = Environment.getExternalStorageDirectory();
        File yourDir = new File(sdCardRoot, "directory");
        for (File f : yourDir.listFiles()) {
            if (f.isFile()) {
                String name = f.getName();
                Long lastModified = f.lastModified();
                if (name.toLowerCase().contains(".xls"))
                    fileObjList.add(new FileObj(0,name,lastModified));
            }
        }

这是我获取文件名和文件路径的代码。

首先,为listView项目设置一个侦听器。在处理程序回调中,您可以执行类似于eblow的操作来打开excels:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path, "application/vnd.ms-excel");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);


try {
    startActivity(intent);
} 
catch (ActivityNotFoundException e) {
    Toast.makeText(context, "No Application Available to View Excel", Toast.LENGTH_SHORT).show();
}

提到这一点,它就像一个符咒。谢谢但是,如果我想通过选择资源管理器应用程序打开文件夹路径,你能告诉我怎么做吗?