首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onPause()安卓

onPause()安卓
EN

Stack Overflow用户
提问于 2012-03-20 18:24:18
回答 2查看 10.3K关注 0票数 1

我有一个应用程序,它每X秒连接到我已经做过的库的onPostExecute中的URL。当我关闭应用程序或使用back按钮返回时,它必须通过覆盖主activity类上的onPause()方法来停止。我想用我自己的库来控制这一点,以便于为新开发人员创建类,但是如果我在库onPause()方法上覆盖它,它会继续建立连接。有办法在我的书库上做这些吗?

下面是我在主类上的代码:

代码语言:javascript
复制
@Override
public void onPause() {
    super.onPause();
    myLib.stopResource();
    myLib.flagRefresh = false;
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
     if (keyCode == KeyEvent.KEYCODE_BACK) {
        myLib.stopResource();
        myLib.flagRefresh = false;
        super.onBackPressed();
        return true;
     }
     return super.onKeyDown(keyCode, event);    
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-20 18:28:24

您应该使用onStop()而不是onPause(),每当活动没有显示在屏幕上但仍在运行时,即当屏幕变黑时,就会调用它。与覆盖onKeyDown()相比,使用onBackPressed()方法更好,但是如果您将当前的onPause()代码放在onStop()中,则不需要覆盖它。

票数 3
EN

Stack Overflow用户

发布于 2012-03-20 18:33:43

我看到的唯一方式是从支持你的库的活动中派生一个新类。但这种方法将会遇到一场置换爆炸。任何专家标准活动也需要MyLib-variant。(ListActivity、FragmentActivity等)

代码语言:javascript
复制
class MyLibActivity extends Activity {
    @Override
    public void onPause() ..

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)..

}

因此,最好的办法可能就是只为纯活动提供支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9784942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档