如何解决连接断点/调试器时,Android API响应回调不起作用
我遇到一个奇怪的问题。我正在应用购买中实现google,购买后我将数据发送到我们的服务器,但是当我添加断点并开始调试时,api响应回调会等待很长时间,并且在该应用之后卡住了,比我需要杀死该应用程序再重新启动。 如果我删除断点和调试器,我会得到api响应回调,并且一切都会顺利进行。 有谁知道为什么我添加断点并开始调试时api响应回调不起作用。这是我的代码。 注意:在获得购买更新侦听器后,我在订阅计划请求响应回调中添加了断点。
private PurchasesUpdatedListener purchaseUpdateListener = (billingResult,purchases) -> {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK && purchases != null) {
for (Purchase purchase : purchases) {
handlePurchase(purchase);
}
} else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.USER_CANCELED) {
}
};
private void handlePurchase(Purchase purchase) {
if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
createSubscription(id+"",purchase);
}
}
private void createSubscription(String id,Purchase purchase) {
if (isNetworkAvailable(activity.getApplicationContext())) {
view.showSubscribeProgress();
subscribePlanRequest(activity.getApplicationContext(),id,purchase.getPackageName(),purchase.getSku(),purchase.getPurchaseToken(),response -> {
Response<Message> result = (Response<Message>) response;
if (isNotNull(result)) {
if (result.getHeaders().code() >= 200 && result.getHeaders().code() <= 299) {
if (!purchase.isAcknowledged()) {
//Acknowledge to google play
AcknowledgePurchaseParams acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder()
.setPurchaseToken(purchase.getPurchaseToken()).build();
billingClient.acknowledgePurchase(acknowledgePurchaseParams,acknowledgePurchaseResponseListener);
}else {
SharedPreference.getInstance(activity.getApplicationContext()).setIsSubscribe(true);
view.showNextScreen(PaymentSuccessActivity.class);
}
}else if (isNotNull(result.getResult())){
}
}
});
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。