2017-01-18 16 views
1

私は、リストビューからチャンネルをクリックすると別のアクティビティに移動し、プレーヤーの選択のポップアップが来て、プレーヤーの選択後にビデオを再生します。今、私は、BackPressedに直接表示されるべきadmobインタースティシャル広告を実装しています。その後、広告を閉じた後、2番目のアクティビティBではなく、「アクティビティA」(最初のアクティビティ)に移動します。画面をクリックしてからad.Howに戻ると、デフォルトの選択された動画プレーヤーのバックプレスに広告を表示することができます。ここではいくつかのコードインタースティシャル広告onBackPressed from default video player

Activty A

case 1: 
        i = new Intent(A.this, B.class); 
        i.putExtra("channel","http://id=HBO"); 
        startActivity(i); 
        break; 

アクティビティB

Bundle bundle = getIntent().getExtras(); 
    String channel = bundle.getString("channel"); 
    Uri uri = Uri.parse(channel); 
    Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
    intent.setDataAndType(uri, "video/mp4"); 
    startActivity(intent); 

や広告は、あなたがまだ大丈夫ですそれを示していますロードされている場合は

@Override 
public void onBackPressed() { 
    if (interstitial.isLoaded()) { 
     interstitial.show(); 
    } 
    super.onBackPressed(); 
} 

答えて

1

をonBackPressedですsuper.onBackPressed()に電話してください。これにより、アクティビティは終了し、最後のアクティビティに戻ります。

あなたがする必要があるのは、広告がロードされていない場合にのみsuper.onBackPressed();を呼び出すelse節を追加することです。

その後、広告閉鎖イベントをリッスンするリスナーをインタースティシャル広告に追加し、finish();を呼び出してください。

+0

どこにリスナーを置く必要がありますか?また、デフォルトの動画プレーヤーからは、最初に2番目のアクティビティが表示され、広告は直接表示されません。バックグラウンドで2番目のアクティビティをすべて表示する必要はありません。 – user2592807

+0

リスナーは、コードで新しいインタースティシャル広告を作成した後に追加できます。例えば 'mInterstitialAd.setAdListener(新しいAdListener(){ @Override公共ボイドonAdClosed(){ 仕上げ();} });' 参照:https://firebase.google.com/docs/ admob/android/interstitial#詳細については、create_the_adlistenerをご覧ください。 – FrankR

+0

どのようにして2番目の活動を取り除くことができますか? onBackPressed関数は2番目のアクティビティにありますか? – user2592807

関連する問題