加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2dx 禁止锁屏

发布时间:2020-12-14 19:48:25 所属栏目:百科 来源:网络整理
导读:IOS版本: 在文件AppController中的 didFinishLaunchingWithOptions函数中加一行代码即可: [objc] view plain copy print ? //禁止ios设备锁屏 [[UIApplication sharedApplication ] setIdleTimerDisabled : YES ]; Android版本有点复杂,参考一下几篇文章

IOS版本:

在文件AppController中的 didFinishLaunchingWithOptions函数中加一行代码即可:

[objc] view plain copy print ?
  1. //禁止ios设备锁屏
  2. [[UIApplicationsharedApplication]setIdleTimerDisabled:YES];

Android版本有点复杂,参考一下几篇文章:

点击打开链接和点击打开链接(详细信息请参考)

为Android添加OnPause等方法;

onCreate(): 应用程序被打开时调用的方法。
onDestroy(): 应用程序被完全退出时调用的方法。
onPause(): 应用程序暂时退到后台运行时调用的方法。
onResume(): 应用程序从退台运行返回前台运行时调用的方法。
锁屏属于电源管理,所以需要导入PowerManager类,这里需要注意在Oncreate里启用了禁止锁屏之后,在通过Home键等暂停游戏的时候需要将禁止锁屏关掉,以免影响整个系统,退出游戏的时候也需要关掉禁止锁屏功能,同上;
(Android有点小麻烦)

[java] ?
    importandroid.os.PowerManager;
  1. importandroid.os.PowerManager.WakeLock;
  2. publicclassShenMoJieextendsCocos2dxActivity{
  3. WakeLockmWakeLock;
  4. protectedvoidonCreate(BundlesavedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. WifiManagerwifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);
  7. WifiInfoinfo=wifi.getConnectionInfo();
  8. GetMacAddress.strMacAddress=info.getMacAddress();
  9. //设置该界面的电源管理->打开禁止锁屏功能
  10. PowerManagerpm=(PowerManager)getSystemService(Context.POWER_SERVICE);
  11. mWakeLock=pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"XYTEST");
  12. mWakeLock.acquire();
  13. }
  14. protectedvoidonPause(){
  15. super.onPause();
  16. //程序暂停运行于后台时调用的方法,在这里加入下边的移除不锁屏功能代码。
  17. if(mWakeLock!=null){
  18. mWakeLock.release();
  19. mWakeLock=null;
  20. }
  21. protectedvoidonResume(){
  22. super.onResume();
  23. //程序由后台转入前台的时候调用的方法onResume()中加入下边的关闭锁屏代码
  24. if(mWakeLock==null){
  25. publicvoidonDestroy(){
  26. //取消设置
  27. super.onDestroy();
  28. mWakeLock.release();
  29. static{
  30. System.loadLibrary("shenmojie");
  31. }
另外,需要在AndroidManifest.xml文件里,添加

[html] ?
    <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);

不知效果如何,可以尝试一下。


转至:http://blog.csdn.net/tyxkzzf/article/details/38902325

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读