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();