gpt4 book ai didi

android - 在没有安装任何文件管理器的情况下在 Android 中选择一个文件

转载 作者:行者123 更新时间:2023-11-30 01:52:09 25 4
gpt4 key购买 nike

我尝试使用以下代码从内部或外部存储中选取一个文件:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
startActivityForResult(intent, 1);

当然有 onActivityResult 方法,这不是问题所在。它在现代手机或安装了文件管理器的手机中运行良好。但是没有文件管理器的旧版本抛出

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.GET_CONTENT typ=file/* }

我尝试切换到 ACTION_PICK 但没有成功。我还尝试了 intent.setType("*/*");,它没有崩溃,但弹出窗口要求执行操作(视频、联系人...),但事实并非如此。我只想选择任何文件,而不仅仅是指定的类型。

我不想使用任何其他文件管理器来选择文件。无论如何我可以解决这个问题吗?

最佳答案

我相信解释错误会使解决方案变得容易得多。那么让我向您解释一下:

您正在启动隐式 Intent 。这意味着您知道自己想要发生什么(使用选择一个文件)并且您不关心哪个应用程序会执行它是一种 Intent 。

您遇到的错误只是系统告诉您(开发人员),没有安装能够执行此操作的应用程序(无论是系统还是第 3 方)。没有人能够处理您想要的操作。

据我所知,您有两个选择:

  • try-catch 错误

.

try {
startActivityForResult(intent, 1);
} catch (ActivityNotFoundException e) {
// maybe you should show a toast to the user here?
Toast.makeText(context, "You need to install a file picker", Toast.LENGTH_SHORT).show();
// or maybe redirect to a 3rd party app that you know works
startIntent(new Intent(Uri.parse("https://play.google.com/... some app
}

关于android - 在没有安装任何文件管理器的情况下在 Android 中选择一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32867057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com