2012-12-14 58 views
0

我的應用程序在我的活動中初始化服務後立即變爲黑屏。沒有顯示錯誤或警告消息。過了一段時間,應用程序已經沒有響應,甚至在時間限制之後服務沒有更新服務器的信息。我想在每分鐘後使用該服務將用戶的位置不斷髮送到服務器。服務在我的活動中初始化。我也在AndroidManifest.xml中包含了該服務。服務啓動後屏幕變黑黑色

LocationService 下面的代碼是我的服務

public class LocationService extends Service{ 

@Override 

public IBinder onBind(Intent arg0){ 
    return null; 
} 


private String TAG = "LocationService"; 


@Override 
public void onCreate(){ 
    super.onCreate(); 
      boolean isUpdateResult = true; 

    try{ 
     while(isUpdateResult){ 

      new CountDownTimer (60000, 1000) { 



       public void onTick(long millisUntilFinished) { 

       } 

       public void onFinish() { 
        //Send information to server       

       }.start(); 
     } 
    } 
    finally{ 

    } 
} 

@Override 
public void onDestroy(){ 
    super.onDestroy(); 
} 
} 

的結構下面是我如何調用該服務在我的主要活動。

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.display_screen); 

    startService(new Intent(Web_Slider.this, 
      LocationService.class)); 
    } 

任何想法是什麼導致黑屏?我在這裏錯過了什麼嗎? 任何意見將不勝感激!先謝謝你。

+0

display_screen layout的定義是什麼? – atk

+0

'isUpdateResult'設置爲false?這可能是一個無限循環。 – gsingh2011

+0

@atk我在主要活動中使用了其他函數。我只是附加了我如何初始化startservice的代碼。 –

回答

0

我設法解決這個問題。顯然,如果我在循環開始時運行new CountDownTimer (60000, 1000),屏幕將變成黑屏。如果沒有錯誤是由於不斷創建新的CountDownTimer導致它無法正常工作。正確的方法是拿走while(isUpdateResult)。由於有一個.start();函數將不斷啓動倒數計時器。 onFinish();之後所以那裏while循環是不需要的。

  new CountDownTimer (60000, 1000) { 



      public void onTick(long millisUntilFinished) { 

      } 

      public void onFinish() { 
       //Send information to server       

      }.start();