2010-07-04 119 views

回答

2

你可以调用完成()活性的方法,因为这样:

@Override 
    protected void onStop() { 
     finish(); 
     super.onStop(); 
    } 

所以,这样当你按下home键或背出应用完全的,它应该结束它。

+1

这并不能阻止你自己创建的任何线程。 – CommonsWare 2010-07-04 13:29:48

+0

我知道,但根据我的理解,他只是希望应用程序在按下主屏幕/后退按钮时关闭,而不是坐在背景中。 如果我误解了,对不起。 – xil3 2010-07-04 13:37:17

+0

我刚刚收到udp数据,因为我使用线程。当我回击按钮时,我的应用程序视觉被关闭,但它在接到后面的按钮后收到数据。为此我问这个。谢谢你的回复 – Sumi 2010-07-04 16:50:06

2

最好的解决方案是不要自己创建线程。如果后台线程只是做了一些工作,请考虑使用AsyncTask而不是您自己的线程。或者,如果这是一项服务,请考虑使用IntentService。否则,我希望你的后台线程阻塞了某些东西(例如,等待一个套接字,等待LinkedBlockingQueue)。在这种情况下,您可以通过对阻塞的内容进行处理来终止该线程(例如,关闭套接字,在LinkedBlockingQueue上发送消息以告知线程脱离其工作循环)。

+0

你假设它是某种东西比现在复杂得多。 你怎么知道他正在创建一个线程开始? – xil3 2010-07-04 13:38:31

+2

@ xil3:问题写得不好。我们都可能是错的,而OP是指从他的衬衫中脱出的线。我猜测,自OP询问一个线程后,OP创建了一个 - 否则,我不知道OP为什么会认为他需要停止某个线程。 – CommonsWare 2010-07-04 14:11:58

相关问题