我想在我的应用程序中有一个按钮,允许用户从设备上的应用程序中选择图像或任何其他文件。下面是“我的活动”中允许用户从Dropbox和Drive等应用程序中选择文件的代码:

    private static int RESULT_GET_CONTENT = 1;

    public void getFileContent() {
        Intent fileIntent = new Intent(Intent.ACTION_GET_CONTENT);
        fileIntent.setType("file/*");
        startActivityForResult(fileIntent, RESULT_GET_CONTENT);
    }

这将显示可用应用程序的列表。当用户选择一个应用程序时,该应用程序允许他浏览文件。
要从库中选取图像,我可以将意图的类型更改为"image/*"
如何更改此项以显示包含文件应用程序(Dropbox&Drive)和图像应用程序(Gallery)的应用程序列表?

最佳答案

结果发现解决方法很简单。我只需要使用“*/*”作为类型,然后添加可打开的类别,过滤掉我不想要的联系人之类的内容。

public void getFileContent() {
    Intent fileIntent = new Intent(Intent.ACTION_GET_CONTENT);
    fileIntent.setType("*/*");
    fileIntent.addCategory(Intent.CATEGORY_OPENABLE);
    startActivityForResult(fileIntent, RESULT_GET_CONTENT);
}

关于android - 如何提供选择器以获取多种MIME类型的内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19017172/

10-10 02:28