0

当用户在我的应用程序中按下“浏览文件”按钮时,我想显示所有已安装的文件浏览器应用程序,但没有传递任何文件,我只想打开一个文件浏览器。此外,我不想等待文件选择器或任何其他结果。我只想显示为浏览他的文件而安装的用户应用程序。

我试过这个:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
startActivity(Intent.createChooser(intent, getString(R.string.select_file_browser)));

它应该向用户显示设备中安装的所有文件浏览器应用程序,其中有三个,但不显示它们。该设备只是打开设备中安装的默认“文件”谷歌默认应用程序。

我该如何解决这个问题?

是否Intent.ACTION_GET_CONTENT有此目的的正确意图?

4

1 回答 1

0

Files 应用程序的包名称(在可用的现代 Android 设备上)是

com.google.android.apps.nbu.files

您可以获取包名称的启动意图,然后使用启动活动。

String packageName = "com.google.android.apps.nbu.files";

Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);

startActivity(intent);

一定要抓住很多可能的异常。

知道包名称后,您就可以通过这种方式启动每个应用程序。

于 2021-04-26T09:59:17.617 回答