问题描述
我在服务类中实现了 Handler。此处理程序是一种递归形式,可在您完成后回调。
我比较好奇的是这种方法在Android系统中会导致什么样的错误。目前,我不知道这种方式有什么样的影响。如果您能查看下面的代码并回答它导致什么样的错误以及如何解决错误,我将不胜感激。 (请告诉我错误的部分!)
public class recursiveService extends Service {
...
@Override
public int onStartCommand(Intent intent,int flags,int startId) {
m_Handler.sendEmptyMessage(0);
...
startForeground(1234,Notification());
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
...
stopForeground(true);
m_Handler.removeCallbacksAndMessages(null);
m_Handler.removeMessages(0);
}
private Handler m_Handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
// work
// ...
// recursive handler
m_Handler.removeCallbacksAndMessages(null);
m_Handler.removeMessages(0);
m_Handler.sendEmptyMessageDelayed(0,2000);
}
};
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)