Белая прямоугольная область в баннере Millennial Media на Android 4.0

В моей игре реализованы баннеры Millennial Media и Admob (Millennial вверху экрана, Admob внизу). Все делается программно в Android/Java с использованием RelativeLayout, сначала я добавляю MMAdView, затем OpenGl surface и в конце AdmobView. На устройствах с Android ‹ 4.0 все отрисовывается корректно, а на Ice Cream Sandwich вместо баннера Millennial появляется огромная белая область. Я слишком долго боролся с этой проблемой. Есть идеи, что там может быть не так?
ОБНОВЛЕНИЕ: Мой друг сказал мне, что эта белая прямоугольная область видна, когда он не подключен к сети Wi-Fi. В моем коде я не проверяю доступность сети. Я просто запускаю метод millennialView.setVisibility(View.VISIBLE) для отображения баннера.

    adMobView = new AdView(this, AdSize.BANNER, ADMOB_BANNER_ID);
    adMobView.setAdListener(getAdMobListener());
    AdRequest request = new AdRequest();
    adMobView.loadAd(request);

    RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    lay.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);        
    layout.addView(adMobView, lay);

// ... adding OpenGL surface

    int bannerWidth = (int)(displayMetrics.widthPixels * displayMetrics.density);

    Hashtable<String, String> map = new Hashtable<String, String>();
    map.put(MMAdView.KEY_WIDTH, String.valueOf(bannerWidth));
    map.put(MMAdView.KEY_HEIGHT, "53");
    millennialView = new MMAdView(this, MILLENNIAL_BANNER_ID, MMAdView.BANNER_AD_TOP, 30, map);
    millennialView.setId(MMAdViewSDK.DEFAULT_VIEWID);
    millennialView.setListener(getMillennialListener());

person Eric    schedule 03.07.2012    source источник
comment
Скриншот бы очень помог...   -  person Codo    schedule 03.07.2012
comment
У меня есть только информация от моего друга, у которого на борту 4.0. В верхней части экрана есть белая прямоугольная область (1/3 экрана). У него не включен Wi-Fi, и когда он нажимает на него, игра неожиданно вылетает.   -  person Eric    schedule 03.07.2012


Ответы (1)


Похоже, проблема заключалась в том, что баннер Millennial отображался, когда сеть была недоступна. Теперь перед показом баннера я просто проверяю есть ли сетевое соединение:

    ConnectivityManager connectivityMgr =
        (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    if(connectivityMgr != null && connectivityMgr.getActiveNetworkInfo() != null) {
            millennialView.setVisibility(View.VISIBLE);
person Eric    schedule 05.07.2012