我正在使用这个库:https://github.com/anjlab/android-inapp-billing-v3
购买订阅时,不会调用onProductPurchased(String productId, TransactionDetails details)
方法。
如何检查订阅是否成功?
谢谢
编辑:
这是我订阅的按钮代码:
billingProcessor.subscribe(getActivity(), getString(R.string.str_monthly_sub_id));
这里是我的初始化代码:
billingProcessor = new BillingProcessor(context, getString(R.string.gdc_licence_key), this);
billingProcessor.initialize();
如果您在此库中使用 fragment,则有所不同,onActivityResult
Fragment 中没有为此调用,您可以使用不同的方法
-
您需要重写活动中的
onActivityResult
方法,并在此方法中调用super.onActivityResult()
以在片段中发送结果@Override protected void onActivityResult(int requestCode, int resultCode, @NullableIntent data) { super.onActivityResult(requestCode, resultCode, data); }
-
写这个方法是尊重片段的活动
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Fragment fragmentObj = getSupportFragmentManager().findFragmentById(R.id.yourFragmentId); fragmentObj.onActivityResult(requestCode, resultCode, data); }
然后onActivityResult
片段中调用!
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
if (resultCode == Activity.RESULT_OK && data != null) {
if (!mBillingProcessor.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
}
super.onActivityResult(requestCode, resultCode, data);
}