编辑:我发现我在下面描述的只发生在我的模拟设备上(Nexus 5,目标api 19,4.4.2与Intel Atom(x86)cpu ),但不是在我的物理设备(宏达电一)...Android:暂停并恢复活动中的线程
编辑2:编辑1是由于IllegalStateException我没有捕获。添加了一些代码来检查线程是否已经运行,然后再尝试启动它。这与接受的答案相结合解决了我的问题。
我已实施启动一个新的线程在活动的onCreate方法,像这样的activty:
...
private boolean running;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
running = true;
new Thread(null, work, "myThread").start();
}
Runnable work = new Runnable() {
@Override
public void run() {
while (running) {
//Doing work
}
}
};
我“暂停”我与我的活动的的onPause方法线程,就像这样:
@Override
protected void onPause() {
running = false;
super.onPause();
}
所以我认为,恢复这将是一样容易...¨
@Override
protected void onResume(){
running = true;
super.onResume();
}
,但我的日阅读不恢复。任何想法为什么?感谢任何帮助。
马库斯
检查我的编辑请 – Marcus 2014-09-21 15:57:43
你的代码甚至不工作。布尔值不是同步语句的有效类型的参数。 – Marcus 2014-09-21 17:13:38
修复它看起来再次感谢 – mmlooloo 2014-09-21 17:17:58