我有一个应用程序,它每X秒连接到我已经做过的库的onPostExecute中的URL。当我关闭应用程序或使用back按钮返回时,它必须通过覆盖主activity类上的onPause()方法来停止。我想用我自己的库来控制这一点,以便于为新开发人员创建类,但是如果我在库onPause()方法上覆盖它,它会继续建立连接。有办法在我的书库上做这些吗?
下面是我在主类上的代码:
@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);
}发布于 2012-03-20 18:28:24
您应该使用onStop()而不是onPause(),每当活动没有显示在屏幕上但仍在运行时,即当屏幕变黑时,就会调用它。与覆盖onKeyDown()相比,使用onBackPressed()方法更好,但是如果您将当前的onPause()代码放在onStop()中,则不需要覆盖它。
发布于 2012-03-20 18:33:43
我看到的唯一方式是从支持你的库的活动中派生一个新类。但这种方法将会遇到一场置换爆炸。任何专家标准活动也需要MyLib-variant。(ListActivity、FragmentActivity等)
class MyLibActivity extends Activity {
@Override
public void onPause() ..
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)..
}因此,最好的办法可能就是只为纯活动提供支持。
https://stackoverflow.com/questions/9784942
复制相似问题