IOS版本:
在文件AppController中的 didFinishLaunchingWithOptions函数中加一行代码即可:
- //禁止ios设备锁屏
- [[UIApplicationsharedApplication]setIdleTimerDisabled:YES];
Android版本有点复杂,参考一下几篇文章:
为Android添加OnPause等方法;
onCreate():
应用程序被打开时调用的方法。
onDestroy():
应用程序被完全退出时调用的方法。
onPause():
应用程序暂时退到后台运行时调用的方法。
onResume():
应用程序从退台运行返回前台运行时调用的方法。
锁屏属于电源管理,所以需要导入PowerManager类,这里需要注意在Oncreate里启用了禁止锁屏之后,在通过Home键等暂停游戏的时候需要将禁止锁屏关掉,以免影响整个系统,退出游戏的时候也需要关掉禁止锁屏功能,同上;
(Android有点小麻烦)
- importandroid.os.PowerManager;
- importandroid.os.PowerManager.WakeLock;
- publicclassShenMoJieextendsCocos2dxActivity{
- WakeLockmWakeLock;
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- WifiManagerwifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);
- WifiInfoinfo=wifi.getConnectionInfo();
- GetMacAddress.strMacAddress=info.getMacAddress();
- //设置该界面的电源管理->打开禁止锁屏功能
- PowerManagerpm=(PowerManager)getSystemService(Context.POWER_SERVICE);
- mWakeLock=pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"XYTEST");
- mWakeLock.acquire();
- }
- protectedvoidonPause(){
- super.onPause();
- //程序暂停运行于后台时调用的方法,在这里加入下边的移除不锁屏功能代码。
- if(mWakeLock!=null){
- mWakeLock.release();
- mWakeLock=null;
- }
- }
- protectedvoidonResume(){
- super.onResume();
- //程序由后台转入前台的时候调用的方法onResume()中加入下边的关闭锁屏代码
- if(mWakeLock==null){
- PowerManagerpm=(PowerManager)getSystemService(Context.POWER_SERVICE);
- mWakeLock=pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"XYTEST");
- mWakeLock.acquire();
- }
- }
- publicvoidonDestroy(){
- //取消设置
- super.onDestroy();
- if(mWakeLock==null){
- mWakeLock.release();
- }
- }
- static{
- System.loadLibrary("shenmojie");
- }
- }
- <uses-permissionandroid:name="android.permission.WAKE_LOCK"/>
附注:
设置电源管理常用的几种状态
PARTIAL_WAKE_LOCK 屏幕关,键盘灯关,不休眠
SCREEN_MID_WAKE_LOCK 屏幕灰,键盘灯关,不休眠
SCREEN_BRIGHT_WEEK_LOCK 屏幕亮,键盘灯关,不休眠
FULL_WAKE_LOCK 屏幕亮,键盘灯亮,不休眠
详情参考这篇文章点击打开链接,写得很详细;
另外Android还有一种我没有尝试的方法,网友提供,请参考:
在OnCreate函数中添加代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
不知效果如何,可以尝试一下。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。