android service生命历程

1.在程序activity中startService方法启动service。

       1)当按back键退出程序后,后台service仍然在运行,由service启动的线程也在运行。

       2)当在运用管理器中杀死应用,service会重新启动一次。

       3)启动service的activity呗系统destroy之后, service仍然存在。


2.在程序activity中使用bindService启动service。

      1)当启动service的activity被destroy之后,相关的service生命周期也结束了。

      2)service的ondestroy方法会得到执行。


3. 在service中启动新的线程,建立ServerSocket之后,通过局域网的其他终端可以连接上手机,并向手机发送消息。

代码如下:

new Thread(){

private ServerSocket serverSocket;
public void run() {
try {
serverSocket = new ServerSocket(8000);
//int a = serverSocket.getLocalPort();
//String addresString  = ia.getHostAddress();
System.out.println(a);
while(flag){
Socket socket = serverSocket.accept();

DataInputStream din = new DataInputStream(socket.getInputStream());

String msg = din.readUTF();
intent.putExtra("msg", msg);  
                   sendBroadcast(intent);
System.out.println(msg);

din.close();
socket.close();
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
};
}.start();

你可能感兴趣的:(android,线程,socket)