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

来源:互联网 发布:淘宝蓝冠和皇冠的区别 编辑:程序博客网 时间:2024/04/27 02:44

参考 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 plaincopy在CODE上查看代码片派生到我的代码片
  1. @Override  
  2. protected void onDestroy() {  
  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_staticAPP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1APP_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"/>
0 0
原创粉丝点击