谁来向ACTION_OPEN_DOCUMENT显示更多提供者

我想使用作为存储访问框架的一部分提供的android系统对话框来打开一个文件。 我这样做

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("application/pdf"); startActivityForResult(intent, EDIT_REQUEST); 

然后在onActivityResult()处理返回的URI。

问题在于,在结果菜单中,我得到的内容提供者比我预期的less得多。 只有Google云端硬盘和下载(请参阅下面的屏幕截图)。 其他,如Dropbox,Solid Explorer,…都不显示。

我怀疑是因为这些应用程序根本没有设置必要的意图filter来显示在这个列表中。

但是,其他应用程序(例如Kaiten Mail或Chrome)则以某种方式设法在系统对话框中显示列表顶部的完全实现的内容提供程序,然后其他应用程序(例如下面的Dropbox和Solid Explorer)由细条分开(请参阅正确的屏幕截图)。

我怎样才能得到这种行为?

比较我得到的行为(左)和我想要的(右)

Solutions Collecting From Web of "谁来向ACTION_OPEN_DOCUMENT显示更多提供者"