龙城战记 v1.0.1版本的 MD5 值为:00000931b93a3ccf40631848e86a593d
以下内容为反编译后的 SYPayActivity.java 源代码,内容仅作参考
package com.yxkj.sdk.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.JavascriptInterface;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import com.alipay.sdk.app.H5PayCallback;
import com.alipay.sdk.app.PayTask;
import com.alipay.sdk.cons.b;
import com.alipay.sdk.util.H5PayResultModel;
import com.yxkj.sdk.callback.YGameInitCallBack;
import com.yxkj.sdk.request.Api;
import com.yxkj.sdk.utils.ResouceUtils;
import com.yxkj.sdk.utils.YUtils;
import java.util.HashMap;
import java.util.Map;
public class SYPayActivity extends Activity {
private ImageView ivClose;
private WebView mWebView;
@Override
@SuppressLint({"SetJavaScriptEnabled", "AddJavascriptInterface"})
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
Bundle extras = getIntent().getExtras();
if (extras == null) {
finish();
return;
}
try {
String url = extras.getString("url");
setContentView(ResouceUtils.getLayout(this, "ys_activity_pay"));
this.mWebView = (WebView) findViewById(ResouceUtils.getId(this, "ys_web_view"));
this.ivClose = (ImageView) findViewById(ResouceUtils.getId(this, "ys_close"));
this.ivClose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SYPayActivity.this.finish();
}
});
WebSettings settings = this.mWebView.getSettings();
settings.setJavaScriptEnabled(true);
this.mWebView.addJavascriptInterface(new JSInterface(), "jsObj");
settings.setJavaScriptCanOpenWindowsAutomatically(true);
CookieManager.getInstance().setAcceptCookie(true);
if (Build.VERSION.SDK_INT >= 21) {
CookieManager.getInstance().setAcceptThirdPartyCookies(this.mWebView, true);
}
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);
this.mWebView.setVerticalScrollbarOverlay(true);
this.mWebView.setWebViewClient(new MyWebViewClient());
this.mWebView.loadUrl(url);
} catch (Exception e) {
finish();
}
} catch (Exception e2) {
finish();
}
}
@Override
public void onBackPressed() {
if (this.mWebView.canGoBack()) {
this.mWebView.goBack();
} else {
finish();
}
}
@Override
public void finish() {
super.finish();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
private class MyWebViewClient extends WebViewClient {
private MyWebViewClient() {
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
System.out.println("证书错误");
}
@Override
public boolean shouldOverrideUrlLoading(final WebView view, String url) {
if (url.startsWith("weixin://wap/pay?")) {
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
intent.setData(Uri.parse(url));
SYPayActivity.this.startActivity(intent);
} else if (url.startsWith("http") || url.startsWith(b.a)) {
PayTask task = new PayTask(SYPayActivity.this);
boolean isIntercepted = task.payInterceptorWithUrl(url, true, new H5PayCallback() {
@Override
public void onPayResult(H5PayResultModel result) {
final String url2 = result.getReturnUrl();
if (!TextUtils.isEmpty(url2)) {
SYPayActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
view.loadUrl(url2);
}
});
}
}
});
if (url.startsWith("https://wx.tenpay.com")) {
Map<String, String> params = new HashMap<>();
params.put("Referer", "http://gamesy1.com");
view.loadUrl(url, params);
} else if (!isIntercepted) {
view.loadUrl(url);
}
}
return true;
}
@Override
@Nullable
@RequiresApi(api = 21)
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
if (request.getUrl().toString().equals("http://api.gamesy1.com/payresult")) {
YUtils.yUtils.sendSuccuss(7, "支付宝支付成功");
}
if (request.getUrl().toString().equals("http://api.gamesy1.com/payresult2")) {
YUtils.yUtils.sendSuccuss(6, "微信支付成功");
}
return super.shouldInterceptRequest(view, request);
}
@Override
@Nullable
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
if (url.equals("http://api.gamesy1.com/payresult")) {
YUtils.yUtils.sendSuccuss(7, "支付宝支付成功");
}
if (url.equals("http://api.gamesy1.com/payresult2")) {
YUtils.yUtils.sendSuccuss(6, "微信支付成功");
}
return super.shouldInterceptRequest(view, url);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public void payWx(String oprateNo) {
Api.wxPay(this, oprateNo, new YGameInitCallBack() {
@Override
public void onSuccess() {
}
});
}
public class JSInterface {
public JSInterface() {
}
@JavascriptInterface
@SuppressLint({"JavascriptInterface"})
public void wxPay(String operateNo) {
Log.i("ta", operateNo);
Api.wxPay(SYPayActivity.this, operateNo, new YGameInitCallBack() {
@Override
public void onSuccess() {
}
@Override
public void error(String msg) {
super.error(msg);
}
});
SYPayActivity.this.finish();
}
}
}