Android上的iOS'QLPreviewController或UIDocumentInteractionController的对应部分是什么?

时间:2013-12-02 14:30:27

标签: android xamarin.ios xamarin.android xamarin

在iOS上,使用QLPreviewControllerUIDocumentInteractionController预览多种类型的文件非常简单。如何在Android上实现类似的功能以及支持哪些文件格式?

1 个答案:

答案 0 :(得分:7)

坏消息:没有内置(SDK级别)预览组件/ View供您使用。

好消息:Android支持Intent,允许您利用其他应用程序为您完成工作并返回具有所请求文件类型的选定文件。

您可以做的一些事情取决于您的目标:

  1. API 19+:在具有API 19的设备上,您应该使用存储访问框架(https://developer.android.com/guide/topics/providers/document-provider.html)所有预览等都将在响应应用上完成。

    您将看到使用Intent.ACTION_OPEN_DOCUMENT。

  2. 对于旧设备:您可以使用可以使用的可选文件类型和类别。这将打开内置文件选择器或第三方应用程序。

    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    startActivityForResult(intent, REQUEST_CODE);
    

    **请注意,您可以在此处创建一个Intent选择器。

  3. 对于没有任何可以响应Intent的应用程序的设备:您可以捆绑预先构建的内容(https://code.google.com/p/android-file-dialog/),也可以根据文件类型查询内容数据库中的媒体文件并用一个漂亮的UI自己展示它们。

  4. 有关如何使用Intent及其工作原理的其他参考:http://developer.android.com/guide/components/intents-filters.html