В моем приложении для Android я хочу установить соединение с сервером, которое должно запускаться, когда приложение также закрывается. Цель состоит в том, чтобы получать уведомления от сервера и показывать их на устройстве
Я попытался создать службу, в которой я запускаю поток ServerConnection-Thread, но поток останавливается, когда я закрываю приложение.
public class InternetService extends Service {
public static final String START_SERVER = "startserver";
public InternetService(){
}
@Override
public int onStartCommand(Intent intent, int flags, int startID){
String action = intent.getAction();
if(action.equals(START_SERVER)){
//new thread to start server in non-ui-thread
Thread server = new Thread(new Server());
server.start();
}
return START_STICKY;
}
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
Intent server = new Intent(this, InternetService.class);
server.setAction(InternetService.START_SERVER);
startService(server);
}
}
public class Server implements Runnable {
public void run(){
server = new Socket(IP_ADDRESS, PORT);
out = new PrintWriter(server.getOutputStream());
in = new BufferedReader(new InputStreamReader(server.getInputStream()));
}
}