我想让一个有限的状态机首先每 5 秒调用一次我的 StartEstablishService()
方法,以便应用程序在服务失败后尝试重新连接到服务。当服务失败时,它将破坏服务,我唯一需要做的是再次调用StartEstablishService()
方法,这是连接失败后的输出:Destroying service...Service destroyed
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "Destroying service...");
t.interrupt();
Log.d(TAG, "Service destroyed.");
}
如何每 5 秒调用一次StartEstablishService()
?我试图在服务被销毁后调用以下方法
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);
但它的活动总是空??
您可以使用警报管理器每 5 分钟启动一次服务。
为了查找为什么活动为空,您必须发布更多代码,包括文件名,您使用的结构等