我有一个需要打开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);
有什么想法吗?
答案 0 :(得分:4)
我从未使用过它,但我认为您可以使用PackageManager.queryIntentActivities(...)
执行此操作创建您通常用于打开XPS文件并调用该方法的Intent
。如果返回的List<ResolveInfo>
为空,则没有注册用于处理XPS文件的活动。