提交 c9ae1f00 编写于 作者: cocos2d-lua.org's avatar cocos2d-lua.org

Android pause和resume事件优化,统一通过onWindowFocusChanged来出来。

上级 7ab8bd23
...@@ -315,37 +315,38 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe ...@@ -315,37 +315,38 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe
protected void onResume() { protected void onResume() {
Log.d(TAG, "onResume()"); Log.d(TAG, "onResume()");
super.onResume(); super.onResume();
this.hideVirtualButton();
resumeIfHasFocus();
} }
@Override @Override
public void onWindowFocusChanged(boolean hasFocus) { public void onWindowFocusChanged(boolean hasFocus) {
Log.d(TAG, "onWindowFocusChanged() hasFocus=" + hasFocus); Log.d(TAG, "onWindowFocusChanged() hasFocus=" + hasFocus);
super.onWindowFocusChanged(hasFocus); super.onWindowFocusChanged(hasFocus);
this.hasFocus = hasFocus;
resumeIfHasFocus();
}
private void resumeIfHasFocus() {
//It is possible for the app to receive the onWindowsFocusChanged(true) event
//even though it is locked or asleep
boolean readyToPlay = !isDeviceLocked() && !isDeviceAsleep();
if(hasFocus && readyToPlay) { if (this.hasFocus == hasFocus) {
return;
}
if (hasFocus) {
//It is possible for the app to receive the onWindowsFocusChanged(true) event
//even though it is locked or asleep
boolean readyToPlay = !isDeviceLocked() && !isDeviceAsleep();
if (!readyToPlay) {
return;
}
this.hideVirtualButton(); this.hideVirtualButton();
Cocos2dxHelper.onResume(); Cocos2dxHelper.onResume();
mGLSurfaceView.onResume(); mGLSurfaceView.onResume();
} else {
Cocos2dxHelper.onPause();
mGLSurfaceView.onPause();
} }
this.hasFocus = hasFocus;
} }
@Override @Override
protected void onPause() { protected void onPause() {
Log.d(TAG, "onPause()"); Log.d(TAG, "onPause()");
super.onPause(); super.onPause();
Cocos2dxHelper.onPause();
mGLSurfaceView.onPause();
} }
@Override @Override
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册