package com.wsj.Imgdt3; import android.os.Bundle; import android.content.Intent; import android.content.res.Configuration; import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.unity3d.player.UnityPlayer; import com.unity3d.player.UnityPlayerActivity; import com.alipay.sdk.app.PayTask; import com.wsj.Imgdt3.wxapi.WXPayEntryActivity; import com.tencent.mm.opensdk.modelpay.PayReq; import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.WXAPIFactory; public class GFGMainActivity extends UnityPlayerActivity { private int uid; private Bundle _savedInstanceState; public static String APP_ID; private PayReq req = new PayReq(); private IWXAPI wxAPI = null; @Override protected void onCreate(Bundle savedInstanceState) { _savedInstanceState = savedInstanceState; super.onCreate(savedInstanceState); } // 支付宝支付 public void AliPay(String orderInfo, String callBackObjectName, String CallBackFuncName) { Runnable payRun = new Runnable() { @Override public void run() { PayTask task=new PayTask(GFGMainActivity.this); String result= task.pay(orderInfo, true); // 这里可以自己添加Unity回调接收 UnityPlayer.UnitySendMessage(callBackObjectName, CallBackFuncName, result); } }; Thread payThread = new Thread(payRun); payThread.start(); } //微信相关 public void WechatInit(String appid){ APP_ID = appid; if(wxAPI == null){ wxAPI = WXAPIFactory.createWXAPI(this, appid); wxAPI.registerApp(appid); } } public boolean IsWechatInstalled(){ return wxAPI.isWXAppInstalled(); } public void WeChatPayReq(String APP_ID, String MCH_ID, String prepayid, String packageValue, String noncestr, String timestamp, String sign, String callBackObjectName, String CallBackFuncName) { wxAPI = WXAPIFactory.createWXAPI(this, APP_ID); req.appId = APP_ID; req.partnerId = MCH_ID; req.prepayId = prepayid; req.packageValue =packageValue; req.nonceStr = noncestr; req.timeStamp = timestamp; req.sign = sign; wxAPI.sendReq(req); } @Override protected void onStart() { super.onStart(); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnStart", "onStart finish"); } @Override protected void onPause() { super.onPause(); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnPause", "onPause finish"); } @Override protected void onResume() { super.onResume(); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnResume", "onResume finish"); } @Override protected void onStop() { super.onStop(); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnStop", "onStop finish"); } @Override protected void onDestroy() { super.onDestroy(); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnDestroy", "onDestroy finish"); } @Override protected void onRestart() { super.onRestart(); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnRestart", "onRestart finish"); } @Override public void onBackPressed() { UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnBackPressed", "onBackPressed finish"); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnNewIntent", "onNewIntent finish"); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnConfigurationChanged", "onConfigurationChanged finish"); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnSaveInstanceState", "onSaveInstanceState finish"); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnActivityResult", "onActivityResult finish"); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnRequestPermissionResult", "onRequestPermissionsResult finish"); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); UnityPlayer.UnitySendMessage("GFGSDKGameObject", "SdkOnWindowFocusChanged", "onWindowFocusChanged finish"); } }