修复支付问题
This commit is contained in:
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSON;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
@@ -122,8 +123,21 @@ public class GoogleUtils {
|
||||
}
|
||||
}
|
||||
|
||||
Timer timer;
|
||||
|
||||
public void setBillingListener(GoogleBillingListener billingListener) {
|
||||
Timer timer = new Timer();
|
||||
if (timer != null) {
|
||||
timer.cancel();
|
||||
timer = null;
|
||||
}
|
||||
|
||||
try {
|
||||
googlePay.getClass().getMethod("initResultCode").invoke(googlePay);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
timer = new Timer();
|
||||
TimerTask task = new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -133,18 +147,21 @@ public class GoogleUtils {
|
||||
String token = resultCode.getString("resultToken");
|
||||
String orderId = resultCode.getString("resultOrderId");
|
||||
if (code == 0) {
|
||||
timer.cancel();
|
||||
billingListener.onPaySuccess(token, orderId);
|
||||
} else if (code == 1) {
|
||||
timer.cancel();
|
||||
billingListener.onPayFailed("支付取消");
|
||||
} else if (code == 2) {
|
||||
timer.cancel();
|
||||
} else if (code == 1 || code == 2) {
|
||||
billingListener.onPayFailed("支付失败");
|
||||
timer.cancel();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
};
|
||||
timer.scheduleAtFixedRate(task, 60000, 1000);
|
||||
timer.schedule(task, 1000, 1000);
|
||||
}
|
||||
|
||||
public void initializeApp(Context context) {
|
||||
@@ -175,7 +192,7 @@ public class GoogleUtils {
|
||||
}
|
||||
}
|
||||
};
|
||||
timer.schedule(task, 10000, 1000);
|
||||
timer.schedule(task, 1000, 1000);
|
||||
}
|
||||
|
||||
public void initFireToken(Activity activity) {
|
||||
@@ -198,16 +215,14 @@ public class GoogleUtils {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void setQueryPurchaseListener(Activity activity, QueryPurchasesListener queryPurchasesListener) {
|
||||
Timer timer = new Timer();
|
||||
TimerTask task = new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Class<?> clz = activity.getClassLoader().loadClass("com.shayu.lib_google.utils.GoogleBillingManage");
|
||||
googlePay = clz.getConstructor(Activity.class).newInstance(activity);
|
||||
JSONObject object = (JSONObject) googlePay.getClass().getMethod("getQuerySize").invoke(googlePay);
|
||||
L.e("setQueryPurchaseListenersetQueryPurchaseListener__" + object.getInt("querySize"));
|
||||
if (object.getInt("querySize") != -1) {
|
||||
queryPurchasesListener.onResult(object);
|
||||
timer.cancel();
|
||||
@@ -217,7 +232,7 @@ public class GoogleUtils {
|
||||
}
|
||||
}
|
||||
};
|
||||
timer.schedule(task, 10000, 1000);
|
||||
timer.schedule(task, 1000, 1000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user