編輯:我發現我在下面描述的只發生在我的模擬設備上(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