From c9ae1f00baef52bc7c28256e068bb1ad287dd870 Mon Sep 17 00:00:00 2001 From: u0u0 Date: Sat, 24 Aug 2019 11:07:16 +0800 Subject: [PATCH] =?UTF-8?q?Android=20pause=E5=92=8Cresume=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E4=BC=98=E5=8C=96=EF=BC=8C=E7=BB=9F=E4=B8=80=E9=80=9A?= =?UTF-8?q?=E8=BF=87onWindowFocusChanged=E6=9D=A5=E5=87=BA=E6=9D=A5?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/cocos2dx/lib/Cocos2dxActivity.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) mode change 100755 => 100644 quick/template/frameworks/runtime-src/proj.android/libcocos2dx/src/main/java/org/cocos2dx/lib/Cocos2dxActivity.java diff --git a/quick/template/frameworks/runtime-src/proj.android/libcocos2dx/src/main/java/org/cocos2dx/lib/Cocos2dxActivity.java b/quick/template/frameworks/runtime-src/proj.android/libcocos2dx/src/main/java/org/cocos2dx/lib/Cocos2dxActivity.java old mode 100755 new mode 100644 index dad72f9..a3e091b --- a/quick/template/frameworks/runtime-src/proj.android/libcocos2dx/src/main/java/org/cocos2dx/lib/Cocos2dxActivity.java +++ b/quick/template/frameworks/runtime-src/proj.android/libcocos2dx/src/main/java/org/cocos2dx/lib/Cocos2dxActivity.java @@ -315,37 +315,38 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe protected void onResume() { Log.d(TAG, "onResume()"); super.onResume(); - this.hideVirtualButton(); - resumeIfHasFocus(); } @Override public void onWindowFocusChanged(boolean hasFocus) { Log.d(TAG, "onWindowFocusChanged() hasFocus=" + 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(); Cocos2dxHelper.onResume(); mGLSurfaceView.onResume(); + } else { + Cocos2dxHelper.onPause(); + mGLSurfaceView.onPause(); } + this.hasFocus = hasFocus; } @Override protected void onPause() { Log.d(TAG, "onPause()"); super.onPause(); - Cocos2dxHelper.onPause(); - mGLSurfaceView.onPause(); } @Override -- GitLab