停止以前运行的线程,该线程是在android的上一个类中创建的

停止以前运行的线程,该线程是在android的上一个类中创建的,android,android-activity,Android,Android Activity,我只需要停止在同一应用程序的上一次运行时创建的线程。情况就是这样。我在后台使用线程从数据库中检索通知数据,但当我再次启动该应用程序时,线程的数量正在增加。我需要阻止这一切。我认为最好停止后台运行应用程序主类的onCreate()方法中的线程。但是没有办法。请尽快帮我做这件事 谢谢并致以最良好的祝愿, 舍翰 保持对活动类中正在运行的线程的静态引用。在你的线程中,你需要有一个布尔变量,你可以设置,或者你可以调用一个方法来完成你的线程。在onCreate()中,您可以检查是否有正在运行的线程,如果有,

我只需要停止在同一应用程序的上一次运行时创建的线程。情况就是这样。我在后台使用线程从数据库中检索通知数据,但当我再次启动该应用程序时,线程的数量正在增加。我需要阻止这一切。我认为最好停止后台运行应用程序主类的onCreate()方法中的线程。但是没有办法。请尽快帮我做这件事

谢谢并致以最良好的祝愿,
舍翰

保持对活动类中正在运行的线程的静态引用。在你的线程中,你需要有一个布尔变量,你可以设置,或者你可以调用一个方法来完成你的线程。在
onCreate()
中,您可以检查是否有正在运行的线程,如果有,请告诉它停止。下面是一个代码示例:

在您的活动中:

private static Thread myThread;
在活动中,创建线程时:

if (myThread != null) {
    if (myThread.isAlive()) {
        myThread.running = false; // Tell the thread to stop running now
    }
}
myThread = new Thread(...);
myThread.start();
在您的线程中:

public boolean running = true; // Initator of this thread should set this to false to make the thread complete

public void run() {
    while (running) {
        // do whatever your thread does in a loop
    }
}

您可以停止活动的ruuning THREADSONDESTRY()

请查找以下示例:

 static boolean stopThread=false;
    public myThread implements Ruunable{
    public void run(){
    while(true){
    //your logic
    if(stopThread)
    break;
    }
    }


    @Override
        protected void onDestroy() 
        {    

          stopThread=true;
        }