Android:检查是否存在可以打开xps文件的应用程序

时间:2012-01-10 20:24:34

标签: java android android-intent

我有一个需要打开XPS文件的应用。 我可以使用下面的代码触发Intent来打开文件,但是我想知道是否有办法检查手机上是否有可以处理打开此文件的请求的应用程序。 / p>

这个想法是,如果手机上没有应用程序可以打开XPS文件,我可以提示用户下载应用程序以打开XPS文件。

    Intent intent = new Intent();
    intent.setAction(android.content.Intent.ACTION_VIEW);
    File file = new File(fileURL.toURI());
    intent.setDataAndType(Uri.fromFile(file), "application/vnd.ms-xpsdocument");
    //intent.setDataAndType(Uri.fromFile(file), "application/*");
    startActivity(intent); 

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

我从未使用过它,但我认为您可以使用PackageManager.queryIntentActivities(...)

执行此操作

创建您通常用于打开XPS文件并调用该方法的Intent。如果返回的List<ResolveInfo>为空,则没有注册用于处理XPS文件的活动。