android是我的应用程序还在运行吗?

时间:2012-03-23 09:47:55

标签: java android

我有这个作为服务运行的线程:

    public void run() {
        try {
            while(true) {
                Thread.sleep(timeInterval);
                results = sendGetMessage();
                b.putString("results", results);
                receiver.send(2, b);
            }
        } catch (InterruptedException e) {
            results = e.toString();
        }
    this.stop();
    }

我想编写一个简单的函数,它将检查我的应用程序是否仍在运行(为了替换我写的永恒(ture))。 类似于:while(isMyAppRunning)。 我现在的问题是,即使我正在关闭应用程序,该服务仍在继续运行.. 有人可以请善意并给我一个代码示例吗?

2 个答案:

答案 0 :(得分:0)

反过来做。在此running子类中创建一个布尔标志Thread。以true开头,并公开shutdown()方法,将其设置为false。从Activity的{​​{1}}方法调用此方法。

答案 1 :(得分:0)

您可以在不再需要服务时使用context.stopService(Intent service);停止服务。您可以在服务onDestroy()方法中执行所有维护以停止线程等。

当应用程序存在时,您可能还会将某些boolean设置为false,尽管我自己更喜欢第一个解决方案。