onBackPressed()会停止应用吗?

时间:2014-12-12 12:07:17

标签: android android-activity ads android-lifecycle onbackpressed

对不起这个问题,这不是纯粹的技术。

我们在Play商店发布了我们的应用。我们使用了AdBuddiz advirtised提供商。

由于违反了以下广告政策,Google暂停了我们的应用:

  

插页式广告只能在他们来的应用内显示   用。必须提供一个突出且易于访问的目标   任何插页式广告中的用户都可以在没有广告的情况下解散广告   惩罚或无意中的点击。

我们在应用中所做的是在用户位于主Activity中时显示广告,然后按回来。我们使用的代码如下:

public void onBackPressed() {
   AdBuddiz.showAd(this);
   super.onBackPressed();
}

所以问题是:我们的应用是否违反了政策?当广告显示时,用户在应用内按下。但是,android Activity生命周期并不保证在backPress之后应用程序没有运行,因为它应该只调用finish()

我们正在考虑编制Google Appel表单,以便恢复我们的应用。建议将不胜感激。

3 个答案:

答案 0 :(得分:1)

首先,用户希望关闭应用程序的广告是一个糟糕的用户体验决策。

除此之外,还有一种(可悲的)常见的方法可以使双背按压表现为真正的退出。一个众所周知的应用程序,如9gag使用它来防止意外的叶子。

你可以像这样:

private boolean mAdShownOnce = false;

@Override
public void onBackPressed() {
    if (mAdshownOnce) {
        super.onBackPressed();
    } else {
        mAdShownOnce = true;
        AdBuddiz.showAd(this);
        mLastBackPressed = System.currentTimeMillis();
    }
}

考虑用户可能“学习”他必须按三次才能关闭应用程序(我认为他可以通过按回来解除广告,对吧?!)。

答案 1 :(得分:0)

在许多情况下,

super.onBackPressed()会关闭该应用。你应该删除这一行,并提供你自己的逻辑,以确保它没有。

答案 2 :(得分:0)

super.onBackPressed();会让操作系统知道应用程序不再运行了。你的添加仍然存在。您应该只在背面按下时显示添加,并在关闭事件上完成此活动。