在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停止它吗?
任何帮助或重定向来解决此问题都将完全受到赞赏
问候
答案 0 :(得分:0)
只需在onStart结束时调用stopSelf()而不是onDestroy()调用,并从onDestroy()中删除stopSelf()调用。