|  |  | 
 |  |  | package com.secondworld.sdk; | 
 |  |  |  | 
 |  |  | import android.content.Intent; | 
 |  |  | import android.os.Bundle; | 
 |  |  | import android.support.annotation.NonNull; | 
 |  |  | import android.view.KeyEvent; | 
 |  |  | import android.widget.FrameLayout; | 
 |  |  | import android.widget.RelativeLayout; | 
 |  |  |  | 
 |  |  | import com.secondworld.sdk.utils.LogUtil; | 
 |  |  | import com.secondworld.sdk.utils.WebViewUtil; | 
 |  |  |  | 
 |  |  | public class GameActivity extends UnityPlayerActivity { | 
 |  |  |  | 
 |  |  |     private static Class<? extends GameActivityProxy> proxyClass; | 
 |  |  |  | 
 |  |  |     GameActivityProxy proxy; | 
 |  |  |     private GameActivityProxy proxy; | 
 |  |  |  | 
 |  |  |     private RelativeLayout webContainer; | 
 |  |  |     private FrameLayout unityContainer; | 
 |  |  |  | 
 |  |  |     //注册代理类 | 
 |  |  |     public static void registerProxy(Class<? extends GameActivityProxy> proxyClass) { | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     protected void onCreate(Bundle savedInstanceState) { | 
 |  |  |         super.onCreate(savedInstanceState); | 
 |  |  |         LogUtil.d("GameActivity","启动的是GameActivity!"); | 
 |  |  |         LogUtil.d("GameActivity", "启动的是GameActivity!"); | 
 |  |  |         setContentView(R.layout.activity_main); | 
 |  |  |         webContainer = findViewById(R.id.webContainer); | 
 |  |  |         unityContainer = findViewById(R.id.unityContainer); | 
 |  |  |         unityContainer.addView(mUnityPlayer); | 
 |  |  |         WebViewUtil.I.init(this, webContainer); | 
 |  |  |         //初始化渠道代理类 | 
 |  |  |         try { | 
 |  |  |             if (proxyClass != null) { | 
 |  |  |                 proxy = proxyClass.newInstance(); | 
 |  |  | 
 |  |  |         super.onStart(); | 
 |  |  |         if (proxy != null) | 
 |  |  |             proxy.onStart(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     protected void onRestart() { | 
 |  |  |         super.onRestart(); | 
 |  |  |         if (proxy != null) | 
 |  |  |             proxy.onRestart(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     protected void onNewIntent(Intent intent) { | 
 |  |  |         super.onNewIntent(intent); | 
 |  |  |         if (proxy != null) | 
 |  |  |             proxy.onNewIntent(intent); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     protected void onActivityResult(int requestCode, int resultCode, Intent data) { | 
 |  |  |         super.onActivityResult(requestCode, resultCode, data); | 
 |  |  |         if (proxy != null) | 
 |  |  |             proxy.onActivityResult(requestCode, resultCode, data); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { | 
 |  |  |         super.onRequestPermissionsResult(requestCode, permissions, grantResults); | 
 |  |  |         if (proxy != null) | 
 |  |  |             proxy.onRequestPermissionsResult(requestCode, permissions, grantResults); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public boolean onKeyDown(int keyCode, KeyEvent event) { | 
 |  |  |         if (proxy == null) | 
 |  |  |             return super.onKeyDown(keyCode, event); | 
 |  |  |         boolean b = proxy.onKeyDown(keyCode, event); | 
 |  |  |         return b ? b : super.onKeyDown(keyCode, event); | 
 |  |  |     } | 
 |  |  | } |