首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在App Purchase中使用boolean删除广告

在App Purchase中使用boolean删除广告
EN

Stack Overflow用户
提问于 2016-08-17 14:36:19
回答 1查看 170关注 0票数 0

我正在尝试实现Android在应用程序购买删除广告的功能。在我的类下面,我把private boolean isAdsDisabled;放在下面,在onCreate下面,我把

代码语言:javascript
复制
if (isAdsDisabled) {
            AdView adView = (AdView) this.findViewById(R.id.adView);
            adView.setVisibility(View.GONE);
        } else {
            AdView adView = (AdView) this.findViewById(R.id.adView);
            AdRequest adRequest = new AdRequest.Builder().build();
            adView.loadAd(adRequest);
        }

这是我的OnIabPurchaseFinishedListener

代码语言:javascript
复制
IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener
            = new IabHelper.OnIabPurchaseFinishedListener() {
        public void onIabPurchaseFinished(IabResult result,
                                          Purchase purchase)
        {
            if (result.isFailure()) {
                // Handle error
                return;
            }
            else if (purchase.getSku().equals(ITEM_SKU)) {
                removeAds();
            }

        }
    };

我的removeAds()

代码语言:javascript
复制
private void removeAds() {
        AdView adView = (AdView) this.findViewById(R.id.adView);
        adView.setVisibility(View.GONE);
        isAdsDisabled = true;
    }

购买成功后,我设法隐藏了广告。然而,问题是在我重启我的应用程序后,广告再次出现。看起来它不能保存布尔isAdsDisabled = true。如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-17 15:37:28

使用SharedPreferences解决了这个问题。

代码语言:javascript
复制
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        boolean isAdsDisabled = settings.getBoolean("isAdsDisabled", false);

        if (isAdsDisabled) {
            AdView adView = (AdView) this.findViewById(R.id.adView);
            adView.setVisibility(View.GONE);
        } else {
            AdView adView = (AdView) this.findViewById(R.id.adView);
            AdRequest adRequest = new AdRequest.Builder().build();
            adView.loadAd(adRequest);
        }

还有我的removeAds()

代码语言:javascript
复制
private void removeAds() {
        AdView adView = (AdView) this.findViewById(R.id.adView);
        adView.setVisibility(View.GONE);
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();
        editor.putBoolean("isAdsDisabled", true);
        editor.commit();
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38989638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档