ios 安卓锁屏

来源:互联网 发布:notes是什么软件 编辑:程序博客网 时间:2024/06/06 19:44

参考文档  http://blog.csdn.net/tyxkzzf/article/details/38902325

http://www.cocoachina.com/bbs/read.php?tid=206199

http://www.cnblogs.com/king_dy/archive/2010/11/11/1888134.html

http://fengmm521.blog.163.com/blog/static/2509135820137315430118/


ios 版本

修改 proj.ios_mac   ->   ios   ->   AppController.mm   文件

在方法  -(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  中加入

[[UIApplication sharedApplication] setIdleTimerDisabled: YES];//禁止ios设备在游戏期间锁屏


android版本

找到 frameworks/runtime-src/proj.android/src/org/cocos2dx/lua/AppActivity.java

AppActivity.java 的父类是 Cocos2dxActivity.java 在cocos2d-x/cocos/platform/android/java/src/org/cocos2dx/lib 下

父类最好不要动,直接修改AppActivity.java


//cocos2d-x-3.1.1版本package org.cocos2dx.lua;import org.cocos2dx.lib.Cocos2dxActivity;import org.cocos2dx.lib.Cocos2dxGLSurfaceView;//导入电源管理类import android.os.PowerManager;  import android.os.PowerManager.WakeLock; import android.os.Bundle;import android.content.Context;public class AppActivity extends Cocos2dxActivity {//定义变量WakeLock mWakeLock; public Cocos2dxGLSurfaceView onCreateView() {        Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this);        // TestCpp should create stencil buffer        glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);                return glSurfaceView;    }//----  begin  复制protected void onCreate(Bundle savedInstanceState){          super.onCreate(savedInstanceState);          //设置该界面的电源管理->打开禁止锁屏功能          PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);           mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"XYTEST");           mWakeLock.acquire();      }            protected void onPause() {          super.onPause();          //程序暂停运行于后台时调用的方法,在这里加入下边的移除不锁屏功能代码。          if(mWakeLock != null) {             mWakeLock.release();             mWakeLock = null;          }      }            protected void onResume() {          super.onResume();          //程序由后台转入前台的时候调用的方法onResume()中加入下边的关闭锁屏代码          if(mWakeLock == null) {             PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);             mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "XYTEST");             mWakeLock.acquire();          }      }            public void onDestroy() {          //取消设置          super.onDestroy();          if(mWakeLock == null) {              mWakeLock.release();          }      }//---- end}

另一个修改的地方是 frameworks/runtime-src/proj.android/AndroidManifest.xml

<!-- 设置取消锁屏需要用到 --><uses-permission android:name="android.permission.WAKE_LOCK"/>



0 0