Android 如何在服务被破坏时关闭服务中的后台线程
我想在Android 如何在服务被破坏时关闭服务中的后台线程,android,android-service,java-threads,Android,Android Service,Java Threads,我想在ondestory方法中关闭服务中的后台线程,因为如果我停止服务,后台线程仍在运行。因为thread.stop()已被弃用,我真的不知道该怎么做 @Override public int onStartCommand(Intent intent, int flags, int startId) { runAsForeground(); Runnable service = new Runnable() { @Override public
ondestory
方法中关闭服务中的后台线程,因为如果我停止服务,后台线程仍在运行。因为thread.stop()
已被弃用,我真的不知道该怎么做
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
runAsForeground();
Runnable service = new Runnable() {
@Override
public void run() {
connect(client,options);
}
};
backgroundThread = new Thread(service);
backgroundThread.start();
Log.i(TAG, "onStartCommand methode called");
return Service.START_NOT_STICKY;
}
我想您正在使用
服务
。然后,您可以使用与您可以使用的Context.stopService(intent)
相同的方法Context.startService(intent)
stopService(new Intent(this, YourService.class));
它将停止此服务,其所有
线程线程生命周期与Android上下文组件生命周期不同。停止服务不足以停止服务创建的线程。这是一种选择不过,您应该捕获中断异常。如果还不够,您可以检查connect()
方法中的服务是否未停止。显示您的连接方法。