如何检查Android是不是可以通过已知扩展名打开文件

Posted

技术标签:

【中文标题】如何检查Android是不是可以通过已知扩展名打开文件【英文标题】:How to check if Android can open a file by known extension如何检查Android是否可以通过已知扩展名打开文件 【发布时间】:2014-04-04 06:22:45 【问题描述】:

如果没有显示阅读器的下载链接,我想检查android 是否有默认的 Excel 阅读器。这可能吗?

【问题讨论】:

我想打开一个excel文件,所以我需要检查是否安装了默认阅读器。 看这里***.com/questions/6621789/…和这里***.com/questions/7170180/… @rajshree OP 询问如何检测是否安装了阅读器。他没有问如何打开EXCEL文件。链接的文章没有帮助。 【参考方案1】:

您可以使用PackageManager.resolveActivity() 来确定是否安装了可以查看文件的东西。这是一个例子:

PackageManager pm = getPackageManager();
File file = new File("filename"); // This is the file you want to show
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.fromFile(file));
// Determine if Android can resolve this implicit Intent
ResolveInfo info = pm.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);

if (info != null) 
    // There is something installed that can VIEW this file)
 else 
    // Offer to download a viewer here

【讨论】:

以上是关于如何检查Android是不是可以通过已知扩展名打开文件的主要内容,如果未能解决你的问题,请参考以下文章

检查服务器端口是不是从 Android 打开

如果在android中打开了移动设备或wifi,如何检查互联网是不是可用[重复]

如何检查我是不是在 android 4.4 及更高版本中以编程方式打开了 gps? [复制]

“隐藏已知文件类型的扩展名”选项失败问题

检查文件 mime 类型是不是与 php 中的扩展名匹配

Android使用时区检查打开和关闭时间之间是不是已经过去