Mea*_*EYE 3 android orientation lockscreen
我正在开发一种使用OpenGL并具有背景音乐的游戏(有点).应用程序仅在横向模式下运行.
我遇到的问题,当用户锁定屏幕时发生.在onStop()调用该点时,屏幕方向会发生变化,并且在我的"活动"因方向更改而重新启动后不久.这意味着重新创建OpenGL表面,音乐再次开始播放以及各种其他事物.这是违反直觉的,因为锁定屏幕应该暂停CPU密集型操作,而不是启动它们.
添加android:configChanges="orientation"到清单什么也没做.我不知道,我可能丢失screenSize的android:configChanges,但因为我是针对那些没有此选项可用较早版本的API,我不能添加.
所以,问题是:处理这个问题的正确方法是什么?我应该在哪个事件上初始化我的应用程序,以便一切按预期工作?
将screenSize添加到清单中的configChanges并不意味着您的程序不会在旧版本上运行.您只需将targetSdkVersion设置为更高版本,将minSdkVersion设置为您喜欢的任何内容.在intelljIDEA中,我在项目结构中将ModuleSKD设置为4,因此它不会将screenSize突出显示为无效.它在Eclipse中必须类似.
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
<activity android:name=".MyActivity"
android:label="@string/app_name"
android:configChanges="orientation|screenSize|keyboard|keyboardHidden|navigation">
Run Code Online (Sandbox Code Playgroud)
您还可以在代码中检查版本,如下所示:
if (Build.VERSION.SDK_INT >= 11)
Run Code Online (Sandbox Code Playgroud)
这样你的应用程序可以在2.2以及更高版本上运行.
我认为你不需要onConfigurationChanged,因为你的游戏可能只在横向模式下运行,但如果你有兴趣看看我的问题非常类似于你和我自己的答案.
| 归档时间: |
|
| 查看次数: |
1599 次 |
| 最近记录: |