android - 作为开发人员,我有什么办法可以防止电话夜间模式设置强行关闭我的应用程序?
问题描述
抱歉,我不能更具体地讨论这个话题。我正在寻找问题的可能线索以及开发人员是否有已知的解决方案:许多常用设备,如三星 Galaxy S8/S9/S10,都有夜间模式设置/深色主题设置。我注意到切换此设置会无缘无故地强制关闭许多游戏应用程序进程,而其他游戏运行时不受该设置的影响。作为开发人员,我对此有任何控制权吗?Nitrome 的 Google Play 应用程序、“Redungeon”、“Tower Fortress”将在开启或关闭夜间模式时强制关闭,但我测试的所有使用 Unity 引擎运行的应用程序都不会受到影响。
解决方案
我认为发生这种情况是因为切换到暗模式会触发配置更改。除非您明确告诉操作系统,您将自己处理更改,否则配置更改将导致重新创建活动,如此处所述。
当应用程序的主题更改(通过系统设置或 AppCompat)时,它会触发 uiMode 配置更改。这意味着将自动重新创建活动。
作为开发人员,您需要将android:configChanges="uiMode"
清单添加到游戏的活动中,以防止在操作系统更改主题时强制重新启动。
<activity
android:name=".MyActivity"
android:configChanges="uiMode" />
我不是 Unity 开发人员,但我认为 unity 默认会忽略所有配置更改。
推荐阅读
- c - 如何使用 if 语句访问文本文件?
- node.js - 无法安装 playwright@1.0.2
- google-maps - Google Maps JavaScript API 错误:ExpiredKeyMapError
- arcgis - 将 shapefle 上传到 Google 地球引擎
- javascript - Connect 在某些情况下不会调用 mapStateToProps
- asp.net - Facebook Oembed 为带有 UserAgent 和 Referrer 的 HttpRequestMessage 返回不受支持的浏览器页面
- c - 简单的 linker.ld 文件破坏了可执行的 MinGW
- vue.js - Vue:使用对象时获取选择的默认值
- python - Python Pandas 样式到每 n 行
- r - 是否可以在 R 包 visNetwork 中以编程方式将网络列表一一导出到 PNG?