我正在制作一个电视频道流媒体应用程序,当从列表视图中单击某个频道时,它将转到另一个活动,并且弹出播放器选择框,并且在选择播放器后播放视频。现在,我正在实施admob非页内广告,该广告应直接显示在BackPressed上,然后在关闭广告后转到我的“活动A”(第一个活动),而不是第二个活动B。它运行得很好,但是当我按下后退按钮时,它转到第二个活动空白屏幕,然后在背面按广告。我该如何在默认选择的视频播放器的背面印刷上显示广告。这是一些代码
活动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);
和onBackPressed
@Override
public void onBackPressed() {
if (interstitial.isLoaded()) {
interstitial.show();
}
super.onBackPressed();
}
最佳答案
如果广告已加载,则显示为正常,但仍会调用super.onBackPressed()
。这将导致活动结束并返回上一个活动。
您需要做的是添加一个else子句,仅在未加载广告时才会调用super.onBackPressed();
。
然后,您需要在插页式广告中添加一个侦听器,该侦听器将监听广告关闭事件并在其中调用finish();
。