ios 安卓鎖屏

參考文檔  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"/>



發佈了39 篇原創文章 · 獲贊 15 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章