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"/>

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...