Android: Google 钱包购买后如何处理labHelper
Android: How to dispose labHelper of Google Wallet after purchase
我正在集成 Google 钱包并在 buying.Normally 开始时启动 labHelper labHelper 开始于activity onCreate 和 dispose 的时间 activity onDestroy ].因此,即使我们不使用钱包服务,labHelper 也会在 activity onCreate 时启动。
所以我试图在开始购买时启动 labHelper 并在 labhelperPurchase 完成侦听器中进行配置。 purchasing.But 金钱转移也发生在那里后,我得到一个异常。
一次购买后,当我尝试购买第二次时,它显示“TRANSACTION FAILED”
LabHelper 初始化
mHelper = new IabHelper(FrendyActivity.this, base64EncodedPublicKey);
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
Log.d(TAG, "Setup finished.");
// Have we been disposed of in the meantime? If so, quit.
if (mHelper == null)
return;
if (!result.isSuccess()) {
Log.d(TAG, "In-app Billing setup failed: " + result);
} else {
Log.d(TAG, "In-app Billing is set up OK");
}
}
});
购买后这是处理代码
mHelper.launchPurchaseFlow(FrendyActivity.this,
SkuItem, code,
mPurchaseFinishedListener, type);
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
if (mHelper != null)
mHelper.dispose();
mHelper = null
dealWithPurchaseSuccess(result, purchase);
}
购买一次后,当我尝试再次购买产品时出现错误 labHelper 已经启动
labHelper购买后如何正确处置?
简单回答:购买后不应丢弃 iabHelper。 API 不是那样设计的。
您甚至不应该尝试在 onCreate 和 onDestroy 以外的方法中启动和停止 API。但是如果你真的想要它并且你选择这样做首先创建一个新的 iabhelper 实例,不要重复使用它。
但是我建议你去掉 onIabPurchaseFinished 中的 dispose 调用,只在 onDestroy 方法中调用它。
我正在集成 Google 钱包并在 buying.Normally 开始时启动 labHelper labHelper 开始于activity onCreate 和 dispose 的时间 activity onDestroy ].因此,即使我们不使用钱包服务,labHelper 也会在 activity onCreate 时启动。
所以我试图在开始购买时启动 labHelper 并在 labhelperPurchase 完成侦听器中进行配置。 purchasing.But 金钱转移也发生在那里后,我得到一个异常。
一次购买后,当我尝试购买第二次时,它显示“TRANSACTION FAILED”
LabHelper 初始化
mHelper = new IabHelper(FrendyActivity.this, base64EncodedPublicKey);
mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
Log.d(TAG, "Setup finished.");
// Have we been disposed of in the meantime? If so, quit.
if (mHelper == null)
return;
if (!result.isSuccess()) {
Log.d(TAG, "In-app Billing setup failed: " + result);
} else {
Log.d(TAG, "In-app Billing is set up OK");
}
}
});
购买后这是处理代码
mHelper.launchPurchaseFlow(FrendyActivity.this,
SkuItem, code,
mPurchaseFinishedListener, type);
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {
public void onIabPurchaseFinished(IabResult result, Purchase purchase) {
if (mHelper != null)
mHelper.dispose();
mHelper = null
dealWithPurchaseSuccess(result, purchase);
}
购买一次后,当我尝试再次购买产品时出现错误 labHelper 已经启动
labHelper购买后如何正确处置?
简单回答:购买后不应丢弃 iabHelper。 API 不是那样设计的。
您甚至不应该尝试在 onCreate 和 onDestroy 以外的方法中启动和停止 API。但是如果你真的想要它并且你选择这样做首先创建一个新的 iabhelper 实例,不要重复使用它。
但是我建议你去掉 onIabPurchaseFinished 中的 dispose 调用,只在 onDestroy 方法中调用它。