我正在使用 React Native 和 Expo 制作应用程序。
我的目标
您可以从手机导入一些音频,当您按下按钮时,此按钮会播放音频。
我正在使用 Expo,所以我安装了 ExpoDocumentPicker。我首先尝试了这个:
DocumentPicker.getDocumentAsync();
Run Code Online (Sandbox Code Playgroud)
这段代码非常适合从手机中挑选任何文件。但我更喜欢只选择音频选项,以提高灵活性并防止将来出现错误。
所以我查看了 ExpoDocumentPicker 文档,我找到了我的问题的所谓“解决方案”(我首先尝试在 Youtube 和 Google 上搜索,但对我没有任何作用)。
我尝试了在文档中找到的这段代码:
await DocumentPicker.getDocumentAsync
({
type: ["audio/*"],
});
Run Code Online (Sandbox Code Playgroud)
预期行为
当用户按下按钮时,应用程序会打开手机文件浏览器,仅用于音频
发生了什么
这在网络上非常有效。但是后来我在我的 Android 手机上试了一下,但没有用。
我收到以下错误消息:
[Unhandled promise rejection: Error: Encountered an exception while calling native method: Exception occurred while executing exported method getDocumentAsync on module ExpoDocumentPicker: java.util.ArrayList cannot
be cast to java.lang.String]
Run Code Online (Sandbox Code Playgroud)
以及完整的错误日志:
[Unhandled promise rejection: Error: Encountered an exception while calling native method: Exception occurred while executing exported …Run Code Online (Sandbox Code Playgroud) 我的目标是使应用程序全屏显示状态栏在 Android 和 iPhone 中可见,就像在 Expo 中一样,但在 React Native 中
这是正在发生的事情:

我的目标是移除这个灰色部分,让应用占据这部分,同时显示状态栏,就像在 Expo 中一样。
我已经试过了:https : //reactnative.dev/docs/statusbar.html#sethidden
但是所有的灰色顶部都变成黑色并且没有状态栏
我已经尝试将其添加到 Android 中的 styles.xml 中:
<item name="android:windowFullscreen">true</item>
Run Code Online (Sandbox Code Playgroud)
但什么都没有改变(并且只能在 Android 中使用)
statusbar react-native android-navigation-bar iphone-x android-9.0-pie