如何立即停止服务?

时间:2012-05-11 15:36:06

标签: android service

在android开发中,我有一个由Brodcastreceiver启动的服务,它启动并正确地执行了它的任务,但是当我尝试使用stopself()从类中停止服务时;它在执行任务三次之前没有停止,然后在此处停止是onStart服务和onDestroy()的代码;:

@Override
    public void onStart(Intent intent, int startid) {
        player.start();
        SystemClock.sleep(30000);
        onDestroy();
    }

    @Override
    public void onDestroy() {
        player.stop();
    this.stopSelf();}   

以下是我从BrodcastReceiver启动服务时的代码:

Intent intent =new Intent(context,RingService.class);
context.startService(intent);

有没有办法让我的服务一旦完成任务就立即停止,或者我必须让BrodcastRecevicer停止它吗?

任何帮助或重定向来解决此问题都将完全受到赞赏

问候

1 个答案:

答案 0 :(得分:0)

只需在onStart结束时调用stopSelf()而不是onDestroy()调用,并从onDestroy()中删除stopSelf()调用。