Programmatically close an interstitial ad
It is not possible to programatically close an interstitial ad.
You can get a reference of the Admob Interstitial activity and call finish()
on it when you want to close it, by implementing ActivityLifecycleCallbacks
:
private final Application.ActivityLifecycleCallbacks activityLifecycleCallbacks = new Application.ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
Log.e(TAG, "onActivityCreated: " + activity.getClass());
}
@Override
public void onActivityStarted(@NonNull Activity activity) {
Log.e(TAG, "onActivityStarted: " + activity.getClass());
}
@Override
public void onActivityResumed(@NonNull Activity activity) {
Log.e(TAG, "onActivityResumed: " + activity.getClass());
}
@Override
public void onActivityPaused(@NonNull Activity activity) {
Log.e(TAG, "onActivityPaused: " + activity.getClass());
}
@Override
public void onActivityStopped(@NonNull Activity activity) {
Log.e(TAG, "onActivityStopped: " + activity.getClass());
}
@Override
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {
Log.e(TAG, "onActivitySaveInstanceState: " + activity.getClass());
}
@Override
public void onActivityDestroyed(@NonNull Activity activity) {
Log.e(TAG, "onActivityDestroyed: " + activity.getClass());
}
};
MyApplication.getInstance().registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
E/TAG: onActivityCreated: class com.google.android.gms.ads.AdActivity
E/TAG: onActivityStarted: class com.google.android.gms.ads.AdActivity
E/TAG: onActivityResumed: class com.google.android.gms.ads.AdActivity
It's going to be a very late answer but I faced similar issue. A trick can be to call the back button event programmatically.
this.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
As whenever you press on back button the interstitial ad is closed so firing the back button event will eventually close the interstitial ad. Rest depends on the requirement.