2016-07-07 141 views
0

我想制作一个有限状态机,每5秒钟首先调用我的StartEstablishService()方法,以便一旦服务失败,应用程序将尝试重新连接到服务。当服务失败时它会破坏我需要做服务,唯一的事情再次调用StartEstablishService()方法,这是后连接失败的输出:Destroying service...Service destroyedAndroid每5秒启动一次服务

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    Log.d(TAG, "Destroying service..."); 
    t.interrupt(); 
    Log.d(TAG, "Service destroyed."); 

} 

如何调用StartEstablishService()每5秒?我试着拨打下列方法的服务被破坏

public void startExploring() { 
     Log.e(TAG,"Start Exploring Every 8 Seconds..."); 
     final int FIVE_SECONDS = 5000; 
     final MainActivity activity = (MainActivity) getActivity(); 
     final Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       activity.startData(); 
       handler.postDelayed(this, 
       FIVE_SECONDS); 
      } 
     }, 5000); 

之后,但它的活动总是空?

+0

你制作'Fragment'或'Activity'?如果它是一个片段,则捕获onActivityCreated()回调中的活动,否则将其捕获到onCreate()回调中。 – Shark

回答

0

您可以使用alarm manager每5分钟启动一次服务。

为了找到为什么活动是空,你必须张贴更多的代码,包括文件名,结构你用等