1

Je crée une application de diffusion de chaînes de télévision qui, lorsqu'elle clique sur une chaîne à partir d'une liste, passe à une autre activité et une sélection de lecteur apparaît et après la sélection d'un lecteur. Maintenant, je suis en train d'implémenter l'annonce interstitielle admob qui devrait être affichée directement sur BackPressed puis après la fermeture de l'annonce va à mon "Activité A" (première activité) et non la deuxième activité B. Elle fonctionne parfaitement mais quand j'appuie sur backbutton elle passe à la seconde activité vide écran, puis sur la presse arrière pour ad.Comment je peux le faire pour montrer l'annonce sur backpress du lecteur vidéo sélectionné par défaut. voici un codeAnnonce interstitielle à partir du lecteur vidéo par défaut

activty A

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

Activité 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); 

et onBackPressed

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

Répondre

1

Si l'annonce vous est chargé de montrer ce qui est bien, mais vous avez encore appelez jusqu'au super.onBackPressed(). Cela entraîne la fin de l'activité et le retour à la dernière activité.

Ce que vous devez faire est d'ajouter une clause else qui appellera super.onBackPressed(); seulement si l'annonce n'est pas chargée.

Ensuite, vous devez ajouter un écouteur à votre annonce interstitielle qui écoutera l'événement "Annonce fermée" et appeler le finish();.

+0

où dois-je placer l'auditeur? Aussi à partir du lecteur vidéo par défaut, il montre d'abord la deuxième activité et non l'annonce directement.je ne veux pas montrer la deuxième activité du tout sur backpress. – user2592807

+0

L'écouteur peut être ajouté après la création de la nouvelle annonce interstitielle dans votre code. par exemple. 'mInterstitialAd.setAdListener (nouvelle AdListener() { @Override public void onAdClosed() { finish();} });' Voir: https://firebase.google.com/docs/ admob/android/interstitiel # create_the_adlistener pour plus d'informations. – FrankR

+0

Comment puis-je me débarrasser de la deuxième activité. La fonction onBackPressed est sur la deuxième activité? – user2592807