0

私は、すべての中で最もユニークで奇妙な問題を抱えていると信じています。

シンプルにするために、世界で最もシンプルなレイアウトを作成しました。

 <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
android:background="#4d9345"
        android:layout_height="match_parent" >


        <com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_alignParentTop="true"
            ads:adSize="BANNER"
            ads:adUnitId="@string/admob">
        </com.google.android.gms.ads.AdView>

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:text="Button" />

    </RelativeLayout>

そして、コード:

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    window.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);



    setContentView(R.layout.myact);


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

}

シナリオ 1:

このアクティビティを開始するボタンを押したときにこのアクティビティを起動しても問題ありません。アクティビティは期待どおりに表示されます (下の図)。

ここに画像の説明を入力

シナリオ 2:

このアクティビティが SCREEN OFF ブロードキャスト レシーバーから開始されると、広告が読み込まれるとすぐにレイアウトが台無しになります。ウィンドウを含むすべてのコンテンツが押し下げられます。(下の写真):

ここに画像の説明を入力

その親 (Relative Layout) も押し下げられていることがわかります (広告の上に黒いギャップがあることがわかります)。

シナリオ 3:

XML レイアウト コード ana にいくつかの変更を加えた場合、admob ビュー マージン トップ:

android:layout_marginTop="25dp"

その結果、コンテンツはプッシュダウンされません。

ここに画像の説明を入力

注意事項:

  1. このアクティビティは、状況によっては起動されますが、画面がオフになっている場合のみです。

  2. requestWindowFeature(Window.FEATURE_NO_TITLE); を使用しない場合 私のコードでは問題なく動作しますが、この機能を使用することは非常に重要です。

この問題をさらに奇妙にするには: 3. これは、Samsung Galaxy S3 mini でのみ行われます。HTC One、HTC Wildfire などで問題なく動作しました。(しかし、galaxy s3 mini でまったく同じように動作するデバイスがあるかもしれません)。4. Admob と Leadbolt の広告でのみ、この動作が発生しました。Amazon、Mmedia、または自分の広告 (サーバーから取得したもの) を使用しても、問題なく動作しました..

それは最も奇妙な問題なので、私は期待していませんが、私は本当に助けてくれると思います..

前もって感謝します。

4

1 に答える 1

1

おそらく、アクション バーを適切に非表示または表示する問題であり、ウィンドウ フラグを使用して何かを行う必要があります。

この古い投稿をチェックして、解決策を試してください。それはうまくいくかもしれません。 Android - ステータス バーが全画面表示を妨げます

于 2015-02-23T15:36:08.927 に答える