2016-08-11 1 views
0

Hallo Leute, ich benutze Admob Banner, um Anzeigen zu zeigen. Also habe ich unten etwas Platz gelassen, also adobe mob banner load. Wenn der Benutzer das Internet ausschaltet, möchte ich diesen Bannerbereich verwenden, um den Inhalt meiner Aktivität anzuzeigen. Wenn der Benutzer sein Internet wieder einschaltet, verkleinere ich meinen Aktivitätsinhalt und zeige den admob-Banner erneut an. Kurz gesagt möchte ich den Layout-Bereich vergrößern oder verkleinern.Wie verstecken und zeigen admob Banner adview Laufzeit

Das ist Code, den ich versuche. Dieser Code entfernt den Bannerbereich, wenn das Internet ausgeschaltet ist. aber ich weiß nicht, wie man Banner wieder hinzufügt, wenn Benutzer Internet einschalten.

 


    public class MainActivity extends AppCompatActivity { 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 



      MobileAds.initialize(getApplicationContext(), "ca-app-pub-3940256099942544~3347511713"); 

      final AdView mAdView = (AdView) findViewById(R.id.adView); 
      final AdRequest adRequest = new AdRequest.Builder().build(); 
      mAdView.loadAd(adRequest); 

      mAdView.setAdListener(new AdListener() { 
       @Override 
       public void onAdFailedToLoad(int i) { 
        //super.onAdFailedToLoad(i); 
        mAdView.setVisibility(View.GONE); 
       } 

      }); 
     } 

    } 

Antwort

1

Zuerst müssen Sie entscheiden, wann Ihre Anwendung Verbindung erneut überprüfen. Überprüfen Sie den Lebenszyklus unter https://developer.android.com/reference/android/app/Activity.html

Nach, nehmen wir an, Sie möchten überprüfen, jedes Mal die Anwendung zurück zu dem activivty, dass Sie Ihre adview zeigen möchten.

@Override 
    protected void onRestart() { 
     if(checkAppConnectionStatus(MainActivity.this)){mAdView.setVisibility(View.VISIBLE);} 
     else{ mAdView.setVisibility(View.GONE);} 
     super.onRestart(); 
    } 

public static boolean checkAppConnectionStatus(Context context) { 
    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (cm.getActiveNetworkInfo() != null 
      && cm.getActiveNetworkInfo().isAvailable() 
      && cm.getActiveNetworkInfo().isConnected()) { 
     return true; 
    }else{ 
     return false; 
    } 
} 

meine andere Antwort Überprüfen Sie mehr darüber zu wissen, wie in einer utils Klasse appConnectionStatus verwenden wie: Internet Connection