【问题标题】:Link a Application to handle a file format in file manager Android链接应用程序以在文件管理器 Android 中处理文件格式
【发布时间】:2014-10-20 09:53:23
【问题描述】:

我创建了一个简单的文件管理器,列出了 sdcard 中的所有文件,

单击文件名,我想在可以处理该文件格式的应用程序中打开文件。

它是如何工作的?

只要给我一个开始的提示,我会处理其余的..

提前致谢

【问题讨论】:

  • 您无需为此做任何事情,除了使用相关数据(即动作、mime 类型等)触发Intent。这一切都包含在基本的Sending the User to Another App 培训中。

标签: android file file-manager


【解决方案1】:

我明白了,谢谢大家@MH

这段代码正在做我想做的所有事情。

                    File file = new File(listOfDocs.get(position).getFilePath());
                    Uri path = Uri.fromFile(file);
                    Intent intent = new Intent(Intent.ACTION_VIEW);
                    intent.setDataAndType(path, "application/pdf");
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

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

【讨论】:

  • 是的,在我设置 DataAndType 之前只需要检查文件扩展名就可以了
【解决方案2】:

我认为最重要的事情是你知道它的扩展

您可以使用来自 Apache Commons 的 FilenameUtils 来做到这一点

String extension = FilenameUtils.getExtension(mFile.getName());

当你有扩展时,你可以针对特定的应用程序打开

【讨论】:

  • 我应该如何让它打开应用程序?我已经有了扩展名?而是需要如何在单击文件名时打开 adobe 或文本阅读器
  • 你可以使用 pathPattern
猜你喜欢
  • 2021-07-25
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-23
  • 1970-01-01
相关资源
最近更新 更多