我正在尝试实现Android在应用程序购买删除广告的功能。在我的类下面,我把private boolean isAdsDisabled;放在下面,在onCreate下面,我把
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
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()
private void removeAds() {
AdView adView = (AdView) this.findViewById(R.id.adView);
adView.setVisibility(View.GONE);
isAdsDisabled = true;
}购买成功后,我设法隐藏了广告。然而,问题是在我重启我的应用程序后,广告再次出现。看起来它不能保存布尔isAdsDisabled = true。如何解决这个问题?
发布于 2016-08-17 15:37:28
使用SharedPreferences解决了这个问题。
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()
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();
}https://stackoverflow.com/questions/38989638
复制相似问题