我在使用Google App结算服务时遇到问题。当我为某个项目进行采购申请时:
btn10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ITEM_SKU = Constants.ITENS[0].getCod();
try {
token = getToken();
mHelper.launchPurchaseFlow(getActivity(), ITEM_SKU,RC_REQUEST,
FragmentPurchase.this, token);
} catch (Exception e) {
Toast.makeText(view.getContext(), "...", Toast.LENGTH_LONG).show();
}
}
});
它已被购买并显示成功的付款消息,但该服务未调用完成请求,因此我无法向用户提供状态。
这部分从未被称为:
@Override
public void onIabPurchaseFinished(IabResult result, Purchase info) {
if (result.isFailure()) {
...
return;
}
else if(info.getDeveloperPayload().equals(token)){
...
mHelper.consumeAsync(info,
FragmentPurchase.this);
}
}
我已经阅读了其他答案,我已经注意到并实施了所有提示,但它仍然没有打电话给听众。
我的班级也在打电话:
@Override
public void onActivityResult(int requestCode, int resultCode,
Intent data)
{
if (mHelper != null && !mHelper.handleActivityResult(requestCode,
resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
}
这是我的onConsumeFinished:
@Override
public void onConsumeFinished(Purchase purchase, IabResult result) {
Person person = func.getUser(view.getContext());
Log.d(TAG, "Consumo do item.");
if (result.isSuccess()) {
String menssage = result.getMessage();
int resultCode = result.getResponse();
String sku = purchase.getSku();
String tokenLocal = purchase.getDeveloperPayload();
String[] params = {person.getId(),person.getAuth_token(),sku, String.valueOf(resultCode),menssage,tokenLocal};
consumeItemWS(params);
} else {
Toast.makeText(view.getContext(), "... " , Toast.LENGTH_LONG).show();
}
我不知道出了什么问题,我根据文档做了,但是没有用。