2012-06-25 30 views
0

我有以下代碼:無畫面切換啓動服務

Intent serviceIntent = new Intent(this, ServiceClass.class); 
startService(serviceIntent); 

我有兩個類:

  1. StartActivity.class
  2. ServiceClass.class

我開始來自StartActivity類的服務,但是當我使用「startService()」方法啓動服務時,屏幕會更改d當服務正在處理「onCreate()」方法內的內容時,我無法做任何事情。

與「活動」方式相比,「服務」方式是否意味着不使用UI干擾?

回答

0

在ServiceClass中創建一個新的線程並執行其中的所有代碼。像現在這樣從活動開始執行服務,但Service#onStartCommand中的代碼需要位於另一個線程中。

+0

我無法找到你所說的「onStartCommand」方法,但是我在Service類的另一個線程中開始了長時間運行的任務,並解決了我的問題。 – Birdman

0

試試這個

Intent serviceIntent = new Intent(); 
serviceIntent.setAction("com.testApp.service.MY_SERVICE"); 
startService(serviceIntent); 
1

在服務類的地方,你就沒有不定式(或長時間運行)循環?你在相同的上下文(線程)中運行服務,所以如果你有不定式循環,那麼線程被佔用,Activity不能做任何事情。