Android Intentservice没有';我不叫runnable

Android Intentservice没有';我不叫runnable,android,accelerometer,runnable,intentservice,Android,Accelerometer,Runnable,Intentservice,我在intent服务中有以下代码(我必须使用intentservice) 它不调用runnable,不显示日志,加速计接收器也未注销 我不知道为什么会这样。有人能帮我吗 我必须使用intentservice //TIME HANDLER Log.i("start", "start getting data acc & gps"); //Register listeners and start getting data // // ACC: onSt

我在intent服务中有以下代码(我必须使用intentservice)

它不调用runnable,不显示日志,加速计接收器也未注销

我不知道为什么会这样。有人能帮我吗

我必须使用intentservice

//TIME HANDLER
    Log.i("start", "start getting data acc & gps");
    //Register listeners and start getting data
    //
    // ACC:
    onStartAcc();
    //

    handle_lower.postDelayed(new Runnable() {
        @Override
        public void run() {
            Log.i("stop getting data", "STOP");
            //Stop listeners
            //
            // ACC:
            onStopAcc();

            //==========================================================================
            //HERE IS CALCULATING STATUS
            //
            status.calculateState();
            //==========================================================================
        }


    }, Constants.TIME_ACCELEROMETER_GETTING);
对于此用例,您必须使用
IntentService

它不调用runnable,不显示日志,加速计接收器未注销

一旦
onHandleIntent()
返回,
IntentService
将关闭并离开。因此,您不能在
IntentService
中注册侦听器、fork线程、使用实现不佳的计时系统等


欢迎您使用
服务
。将
postDelayed()
内容转换为
ScheduledExecutorService
(这样您的工作在后台线程上完成),并确保调用
stopSelf()
在适当的时候关闭服务。

一句话:我相信当内部消息中没有未决请求时,它会关闭queue@pskink:正确,但在这种情况下,这并不会真正改变
IntentService
的适用性。