微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cocos2d-x创建安卓项目,解决锁屏会黑屏


参考http://blog.csdn.net/hahahacff/article/details/8518541

另外防止屏幕锁屏可以在onCreate方法调用getwindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);


下面的是原创

在cocos2d-x 的安卓项目中,按电源键锁屏,然后解锁,发现子Activity关闭了,导致精灵纹理都无法现实,日志不停打印openGL出错。

解决问题需要在androidmanifest.xml中的各个activity的属性加上android:configChanges="orientation|keyboardHidden"就可以解决这个问题。

但是这个是在低版本的情况下解决的,2.3.3版本

安卓项目中,其实是基于Cocos2dxActivity上面显示coco的控件,精灵等。所以当按电源键锁屏的时候,Activity的ondestory会被调用。创建的时候认没有重写的。会调用父类的ondestory。删掉Cocos2dxActivity。coco的缓存就消失了,然后黑屏。

高版本的话,过滤一下锁屏时候的消息,然后就不会自动调用ondestory,缓存就不会消失了。

高版本的解决方法

在安卓工程中加上

[java] view plain copy
  1. @Override
  2. protectedvoidonDestroy(){
  3. super.onDestroy();
  4. System.out.println("onDestroy()");
  5. }
重写ondestory,让它不去调用删除Activity的操作,就可以了。

COCOS2D-X 2.1.3 锁屏后永久黑屏或者崩溃(少数手机的现象)

2013年09月18日 ⁄ 综合⁄ 共 436字 ⁄ 字号 评论关闭

原因,我自己把minSdkVersion改为17之后,在两台平板电脑(安卓4.0.4和安卓4.1)上测试都完全正常,

但是在别人的两台手机(安卓4.0.3和安卓4.2)上都出现锁屏后解锁崩溃的问题,调用栈发现不知谁调用了exit()函数

锁屏、屏保、HOME键返回桌面都有这个问题。

解决方法

一、修改 Application.mk为:

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1
APP_PLATFORM := android-8

注意“APP_PLATFORM := android-8”这个是最关键的

二、修改AndroidManifest.xml,确保有下面这一行:

<uses-sdk android:minSdkVersion="8"/>

20130629如果上面办法不行,就把8改为11:

APP_PLATFORM := android-11

<uses-sdk android:minSdkVersion="11"/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐