Android - 在onCreate活动方法中启动服务有一些延迟

时间:2014-12-18 17:07:12

标签: android multithreading service

首先我看到了这个: Android start service issue in onCreate of Activity

但是我的问题不同。

我想创建一个活动,然后几秒后,服务应该自动启动(我不希望用户按任何按钮开始服务),当用户按下按钮时,服务应该停止。

如果我在oncreate方法中调用startservice,服务将在完成活动创建之前启动。

如果我使用runnable来定义服务,我就没有任何直接访问服务来阻止它。

我尝试使用新的Thread(),并在run函数中启动服务,然后启动线程,但它也不适用于我。

那我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:1)

点击按钮停止服务

stop.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            stopService(new Intent(context,serviceclass));
        }
    });

延迟后启动它

new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                startService(new Intent(context,serviceclass));
            }
        }, 3000); // 3 seconds..