修复
在AndroidManifest.xml <activity/> 元素中,将@android:theme 更改为@android:style/Theme.Translucent 的值,为我们解决了这个问题:
Cordova 生成 AndroidManifest.xml
<manifest ...>
...
<activity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
android:label="@string/activity_name"
android:launchMode="singleTop"
android:name="MainActivity"
android:theme="@android:style/Theme.Translucent"
android:windowSoftInputMode="adjustResize">
...
</activity>
...
</manifest>
自动化此更改以便您不必修改 Cordova 生成的 AndroidManifest.xml 文件的最简单方法是简单地将 edit-config 元素添加到您的 Cordova config.xml 文件的 android <platform> 部分(感谢@simon-ludwig 提供info):
Cordova config.xml 平台部分
<platform name="android">
<edit-config file="AndroidManifest.xml" target="/manifest/application/activity[@android:label='@string/activity_name']" mode="merge">
<activity android:theme="@android:style/Theme.Translucent"></activity>
</edit-config>
<!-- Other Android platform settings -->
</platform>
TLDR;
在某些设备上,似乎与 Cordova android 生成的默认 Android 主题不兼容。它为AndroidManifest.xml 中的android:theme 属性指定的值是@android:style/Theme.DeviceDefault.NoActionBar:
<manifest ...>
...
<activity
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
android:label="@string/activity_name"
android:launchMode="singleTop"
android:name="MainActivity"
android:theme="@android:style/Theme.DeviceDefault.NoActionBar"
android:windowSoftInputMode="adjustResize">
...
</activity>
...
</manifest>
在 Android 开发者网站上记录了许多主题选项 here。我们发现至少在运行 Android 8 时适用于 TC-57 的是 android:theme="@android:style/Theme.Translucent" 的值