Я хочу отображать InterstitialAd только один раз за определенное время. Но перед выполнением метода загрузки InterstitialAd, если пользователь снова нажимает на действие и завершает действие, метод ScheduledExecutorService или Runnable должен полностью остановиться, но он работает в фоновом режиме иотображает InterstitialAd в определенное время.Как остановить, чтобы отобразить InterstitialAd в следующем коде. Спасибо.
public class CustomActivity extends AppCompatActivity {
private InterstitialAd mInterstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
prepareAd();
ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
Log.i("hello", "world");
runOnUiThread(new Runnable() {
public void run() {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
Log.d("TAG"," Interstitial not loaded");
}
}
});
}
}, 30, 1, TimeUnit.SECONDS);
}
public void prepareAd(){
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
}