在android中连接和断开套接字

时间:2014-07-06 15:35:21

标签: android sockets

我在android中使用socket进行小型聊天应用程序..我希望应用程序以这样一种方式,即当我们打开应用程序时套接字应该连接,并且一旦用户离开应用程序就应该断开连接。事情是,它应该在用户处于应用程序中的任何活动时连接(例如:配置文件,创建组或除了对话页面之外的任何活动)与whatsapp和类似的聊天应用程序中的相同内容。如何实现这一点? 提前谢谢

2 个答案:

答案 0 :(得分:2)

我的诀窍,我相信还有其他人,就是用活动计数器创建一个抽象的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 ....


希望它有所帮助。


答案 1 :(得分:0)

您可以使用此api监视活动在前台的时间:

Application.registerActivityLifecycleCallbacks

调用onActivityStarted时,Activity位于前台。