我正在制作一个电视频道流媒体应用程序,当从列表视图中单击某个频道时,它将转到另一个活动,并且弹出播放器选择框,并且在选择播放器后播放视频。现在,我正在实施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();

10-07 19:33
查看更多