我正在用socket在android上做一个小聊天应用。我希望应用程序的方式是,当我们打开应用程序时,套接字应该连接,并且当用户离开app..and时,它就应该断开连接--主要是,当用户在应用程序中的任何活动(例如:profile、create组或除会话页以外的任何活动)时,它应该连接,就像whatsapp和类似的聊天app..How中的相同东西一样。提前感谢
发布于 2014-07-06 16:35:50
我的诀窍是创建一个带有活动计数器( activity )的抽象BaseActivity,并从该类实例化所有“真实的”活动:
abstract class BaseActivity extends Activity {
protected static int numForegroundActivities;
@Override
public void onStart() {
super.onStart();
numForegroundActivities++; // no need for thread sync
}
@Override
protected void onStop() {
super.onStop();
if (--numForegroundActivities == 0) {
doAppClosedCode(); // <----------------------------
}
}
}
// all instantiable activities should extends BaseActivity
class MainActivity extends BaseActivity ....希望能帮上忙。
发布于 2014-07-06 15:42:19
通过使用此api,您可以监视活动何时处于前台:
Application.registerActivityLifecycleCallbacks
当调用onActivityStarted时,活动就在前台。
https://stackoverflow.com/questions/24597475
复制相似问题