Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在单击后但在新意图之前加载间隙?_Android_Android Intent_Admob_Interstitial - Fatal编程技术网

Android 如何在单击后但在新意图之前加载间隙?

Android 如何在单击后但在新意图之前加载间隙?,android,android-intent,admob,interstitial,Android,Android Intent,Admob,Interstitial,我的主页有大约10个按钮,每个按钮都加载一个新的意图 @Override public void onClick(View v) { // TODO Auto-generated method stub if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); } switch(v.getId()) {

我的主页有大约10个按钮,每个按钮都加载一个新的意图

@Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }

        switch(v.getId())
        {
            case R.id.troop_button:
                gotoTroopScreen();
                break;
        }
    }


public void gotoTroopScreen()
{
    Intent intent = new Intent(this, troop.class);
    startActivity(intent);
}

我希望用户单击按钮,查看间隙,然后查看部队屏幕。现在,它首先加载队伍屏幕,然后在用户退出队伍屏幕后显示间隙。有没有办法先进行间隙显示?

在创建时加载外接程序
,如下所示

 interstitial = new InterstitialAd(this);   
 interstitial.setAdUnitId("YOUR_AD_UNIT_IT");

 AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .build();

 interstitial.loadAd(adRequest);
然后单击按钮,调用以下函数:

 public void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
 }
当用户关闭广告时,转到下一个活动:

// Set an AdListener.
 mInterstitialAd.setAdListener(new AdListener() {
             @Override
             public void onAdLoaded() {
                 //Here set a flag to know that your 
             }

             @Override
             public void onAdClosed() {
                 // Proceed to the next activity.
                 goToNextActivity();
             }
         });

注意:有一种可能性,用户可能会在
Interstitual
ad加载之前单击按钮。

在外部创建一个单独的方法来显示ad函数,并在调用GoToRoopScreen()方法调用ad方法之前调用开关盒内的方法,它应该首先显示您的广告单元。

我已经完成了前两个步骤。
goToNextActivity()
究竟是如何工作的?用户可以单击10个按钮中的任意一个,每个按钮都会加载不同的活动。您必须设置标志,才能知道用户单击了哪个按钮,然后可以在onAdClosed()Callback中使用switch()。谢谢!唯一不同的是,我在
public void onClick(View v)
中为按钮id设置了一个全局变量,然后将switch语句放入
onAdClosed()
onadloadded()
在这里似乎没有必要,因为从技术上讲,应用程序应该在按下后立即记录点击,而不是在广告加载时记录。