如何在有奖励的视频节目/播放中禁用后退按钮?

时间:2019-05-13 03:59:12

标签: android admob admob-rewardedvideoad

在奖励视频播放期间,我要禁用后退按钮并设置最短等待时间。我应该更改哪个功能以完成所需的功能? 这是我的代码

 if (mAd.isLoaded()) {
     mAd.show();

 } else {
      startActivity(new Intent(EssayActivityQstnShow2.this, Essay_Answer_Show.class));
 }

这是奖励视频广告的处理方法

    private void loadRewardedVideoAds() {
    if (!mAd.isLoaded()) {
        mAd.loadAd(getResources().getString(R.string.rewardedvideoid), new AdRequest.Builder().build());
    }
}

@Override
public void onRewardedVideoAdLoaded() {
}

@Override
public void onRewardedVideoAdOpened() {
  //  onBackPressed();


}

@Override
public void onRewardedVideoStarted() {


 //   onBackPressed();

}

@Override
public void onRewardedVideoAdClosed() {


    startActivity(new Intent(EssayActivityQstnShow2.this, Essay_Answer_Show.class));
}

@Override
public void onRewarded(RewardItem rewardItem) {
}

@Override
public void onRewardedVideoAdLeftApplication() {
}

@Override
public void onRewardedVideoAdFailedToLoad(int i) {
    loadRewardedVideoAds();
}

@Override
public void onRewardedVideoCompleted() {
    startActivity(new Intent(EssayActivityQstnShow2.this, Essay_Answer_Show.class));
}

2 个答案:

答案 0 :(得分:1)

尝试下面的代码

private boolean isVideoPlaying;

@Override
public void onRewardedVideoStarted() {
    isVideoPlaying = true;
}

@Override
public void onRewardedVideoAdClosed() {
    isVideoPlaying = false;
}

然后通过onBackPress()检查视频是否在播放

 @Override
public void onBackPressed() {
    if (!isVideoPlaying)
        super.onBackPressed();
}

在执行此操作之前,请仔细阅读policies

答案 1 :(得分:0)

您必须在活动中覆盖onBackPressed回调并删除行super.onBackPressed()。那么如果用户点击“后退”按钮,活动将不会关闭。

如果您无权访问Essay_Answer_Show活动检查,是否可以创建另一个活动来扩展该活动或克隆库并尝试修改活动?