首页 > 解决方案 > android - 在 AcknowledgePurchaseResponseListener 中获取对视图的引用

问题描述

我正在设置应用程序订阅 (Java),我知道在验证所有内容后,我必须确认购买并授予权利。在我的应用程序中,一旦订阅得到验证,屏幕应该会变为确认屏幕。我正在使用导航组件来处理应用程序中的所有导航。但是我不确定在确认后如何引用当前视图:

private void handlePurchases(List<Purchase> purchases) {
    for (Purchase purchase: purchases) {
        // If item is purchased
        if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
            
            // verify
            
            // Acknowledge
            if (!purchase.isAcknowledged()) {
                AcknowledgePurchaseParams acknowledgePurchaseParams = AcknowledgePurchaseParams.newBuilder()
                        .setPurchaseToken(purchase.getPurchaseToken())
                        .build();
                billingClient.acknowledgePurchase(acknowledgePurchaseParams, ackPurchase);
                
            } 
        }
    }
}

AcknowledgePurchaseResponseListener ackPurchase = new AcknowledgePurchaseResponseListener() {
    @Override
    public void onAcknowledgePurchaseResponse(@NonNull BillingResult billingResult) {
        if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
            
            // update shared preferences
Navigation.findNavController(view).navigate(R.id.action_subscribeFragment_to_confirmationFragment);
        }
    }
};

如您所见,为了获得 navController,我需要访问视图,但如何在 AcknowledgePurchaseResponseListener 中做到这一点?

标签: androidplay-billing-libraryacknowledgepurchase

解决方案


推荐阅读