TL; DR:根据文档,有两种不同的购买方式,我使用哪种方式?我是使用意图还是IABHelper.launchPurchaseFlow()
?
根据this文档,使用launchPurchaseFlow();
和附加的聆听者进行购买:
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener =
new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result, Purchase purchase)
{
//Item bought...? Why should I use this option
}
};
mHelper.launchPurchaseFlow(this, SKU_GAS, 10001,
mPurchaseFinishedListener, "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ");
但是,根据this文档,我必须使用意图和onActivityForResult()
来购买产品:
startIntentSenderForResult(pendingIntent.getIntentSender(),
1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0),
Integer.valueOf(0));
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1001) {
if (resultCode == RESULT_OK) {
//Item bought...? Why should I use this option
}
}
}
我应该使用哪种方法购买产品?这两个选项看起来非常相似,但有什么不同,哪一个更好?
答案 0 :(得分:0)
没关系。但是,如果我确实使用了监听器,那么IabHelper的launchPurchaseFlow()无论如何都会使用startIntentSenderForResult,它会在完成后调用onActivityResult()。所以即使我使用了监听器,我也需要onActivityForResult,他们在文档中没有提到。这个链接清除了一点: