链接应用程序以在文件管理器 Android 中处理文件格式

Posted

技术标签:

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

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

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

它是如何工作的?

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

提前致谢

【问题讨论】:

您无需为此做任何事情,除了使用相关数据(即动作、mime 类型等)触发Intent。这一切都包含在基本的Sending the User to Another App 培训中。 【参考方案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

以上是关于链接应用程序以在文件管理器 Android 中处理文件格式的主要内容,如果未能解决你的问题,请参考以下文章

如何构造 FCM 推送通知以在 Flutter(Android 和 iOS)的默认系统 Web 浏览器应用中打开指定的 URL

注册 GPX(或 XML)文件以在 iOS 应用程序中打开

如何从Google云端硬盘下载csv文件以在移动应用中显示内容

如何在 Scrollview 中捕获缩放的 UIImageView 以在 Android 中进行裁剪?

在 logcat 中打印变量值以在 android 中进行调试

在哪里存储本地视频以在 Android Studio 中播放