升级Cordova及Android环境后,如何隐藏App中的URL栏?
解决Cordova升级后页面显示状态栏/URL栏的问题
环境信息
- Cordova 14.0.1
- Android Studio Narwhal (2025.1.1)
- Android SDK 35 (Android 15)
- Gradle 8.14.3、AGP 8.11.1
- 测试模拟器:Pixel 8 Pro (API 35)
问题概述
升级环境后,通过window.open()打开外部页面时,页面正常显示但状态栏和URL栏无法隐藏;尝试cordova-custom-config配置全屏主题无效,改用InAppBrowser插件后出现灰色屏幕。
解决方案
一、修复InAppBrowser配置(解决灰色屏幕)
你之前的调用参数格式错误,按以下步骤调整:
- 确保插件安装正确:
cordova plugin add cordova-plugin-inappbrowser
- 修正JS调用代码(注意引号和参数顺序):
// 在app.initialize()后添加 var ref = cordova.InAppBrowser.open('https://mydomainpage', '_self', 'location=no,fullscreen=yes');
_self:替换当前Cordova WebView(需新开窗口则用_blank)location=no:强制隐藏URL栏fullscreen=yes:隐藏状态栏并全屏显示
- 移除config.xml中手动添加的InAppBrowser feature标签,插件安装后会自动注入配置,手动添加易引发冲突。
二、替换cordova-custom-config,直接配置Android全屏主题
高版本Cordova对cordova-custom-config兼容性差,直接修改原生配置更可靠:
- 在项目根目录的
config.xml(非app/src/main/res/xml/config.xml)中添加:
<preference name="AndroidFullScreen" value="true" /> <preference name="android-manifest/application/activity/@android:theme" value="@style/AppTheme.FullScreen" />
- 修改
platforms/android/app/src/main/res/values/styles.xml,添加适配API 35的全屏主题:
<style name="AppTheme.FullScreen" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowTranslucentStatus">false</item> </style>
- 用
Theme.MaterialComponents系列主题替代旧版Theme.Light,适配Android 15的系统要求。
三、Gradle/AGP适配调整
高版本AGP对配置检查更严格,需确认:
- 在
platforms/android/app/build.gradle中锁定SDK版本:
android { compileSdkVersion 35 defaultConfig { targetSdkVersion 35 } }
- 卸载冲突插件:
cordova plugin remove cordova-custom-config
四、测试验证
- 清理项目缓存:
cordova clean android
- 重新构建运行:
cordova run android --device
内容的提问来源于stack exchange,提问作者decomplexity
相关产品推荐
相关产品推荐

