私は、すべての中で最もユニークで奇妙な問題を抱えていると信じています。
シンプルにするために、世界で最もシンプルなレイアウトを作成しました。
<?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"
その結果、コンテンツはプッシュダウンされません。
注意事項:
このアクティビティは、状況によっては起動されますが、画面がオフになっている場合のみです。
requestWindowFeature(Window.FEATURE_NO_TITLE); を使用しない場合 私のコードでは問題なく動作しますが、この機能を使用することは非常に重要です。
この問題をさらに奇妙にするには: 3. これは、Samsung Galaxy S3 mini でのみ行われます。HTC One、HTC Wildfire などで問題なく動作しました。(しかし、galaxy s3 mini でまったく同じように動作するデバイスがあるかもしれません)。4. Admob と Leadbolt の広告でのみ、この動作が発生しました。Amazon、Mmedia、または自分の広告 (サーバーから取得したもの) を使用しても、問題なく動作しました..
それは最も奇妙な問題なので、私は期待していませんが、私は本当に助けてくれると思います..
前もって感謝します。