Межстраничная реклама при переходе на другое активити
В приложении был реализован показ межстраничной рекламы. Работало это так: Пользователь в MainActivity выбирал элемент из RecyclerView и показывалась межстраничная реклама (если пользователь не отключил ее платно) и когда пользователь закрывал рекламу открывалось второе активити.
Сейчас переделала показ межстраничной рекламы т.к. методы были устаревшие и возникла проблема. Межстраничная реклама отображается, но второе активити не запускается после него. Оно открывается только если повторно нажать на элемент списка. Как переделать так, чтобы каждый раз при нажатии на элемент списка показывалась реклама и при закрытии запускалось второе активити?
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener, ItemSendId {
AdRequest adRequesti;
private InterstitialAd adMob;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MobileAds.initialize(this, new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {
}
});
loadinterstitialAd();
}
private void loadinterstitialAd() {
FullScreenContentCallback fullScreenContentCallback = new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
adMob = null;
}
};
InterstitialAd.load(
this
,getResources().getString(R.string.admob_i)
,new AdRequest.Builder().build()
,new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
super.onAdLoaded(interstitialAd);
adMob = interstitialAd;
adMob.setFullScreenContentCallback(fullScreenContentCallback);
System.out.println("Ads is loaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
super.onAdFailedToLoad(loadAdError);
}
}
);
}
@Override
public void sendItemId(int id) {
SecondIntent = new Intent(MainActivity.this, SecondActivity.class);
for (Item i : itemList.getItem()) {
if (i.getId() == id) {
//передаем данные в активити
}
}
showInterstitial(SecondIntent, this);
}
private void showInterstitial(Intent i, Context c) {
final Intent intent = i;
if (SettingsActivity.SettingsFragment.getIsPurchased(this)) {
startActivity(intent);
return;
}
if (NetworkUtil.getConnectivityStatus(c) == NetworkUtil.TYPE_NOT_CONNECTED) {
startActivity(intent);
} else if (NetworkUtil.getConnectivityStatus(c) == NetworkUtil.TYPE_MOBILE | NetworkUtil.getConnectivityStatus(c) == NetworkUtil.TYPE_WIFI) {
if (!SettingsActivity.SettingsFragment.getIsPurchased(this)) {
loadinterstitialAd();
if (adMob != null) {
adMob.show(MainActivity.this);
} else {
startActivity(intent);
}
} else {
startActivity(intent);
}
}
}
}