服务开始后屏幕变黑

时间:2012-12-14 04:02:17

标签: android service

在我的活动中初始化服务后,我的应用程序立即变为黑屏。未显示任何错误或警告消息。一段时间后,应用程序已经没有响应,即使在时间限制之后,服务也没有将信息更新到服务器。我希望每分钟后使用该服务将用户的位置不断发送到服务器。服务在我的活动中初始化。我还在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));
    }

知道导致黑屏的原因吗?我错过了什么吗? 任何意见将不胜感激!提前谢谢。

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。显然,如果我在循环开始时运行new CountDownTimer (60000, 1000),屏幕将变为黑屏。如果没有弄错,应该不断创建新的CountDownTimer,因为它无法正常运行。正确的方法是取消 While(isUpdateResult)。该函数将不断启动倒计时器,因为有一个.start();在onFinish();之后所以不需要循环。

         new CountDownTimer (60000, 1000) {



             public void onTick(long millisUntilFinished) {

             }

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

            }.start();