无法在内部类广播接收器

时间:2016-04-12 13:51:05

标签: android android-service

我正在尝试通过通知中的按钮启动服务。我使用相同的按钮来启动和停止。停止工作,但当我再次启动时,我在调试器中看到代码执行startService部分但不启动服务,也没有显示异常。请帮忙。

   public static class switchButtonListener extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (startStopCount == 0) {
            new OuterClassService().timer.cancel();
            new OuterClassService.ScreenshotService().stopSelf();
            startStopCount = 1;
        } else {
            context.startService(new Intent(context, OuterClassService.ScreenshotService.class));
            startStopCount = 0;
        }
    }

第一次通知但是按下了,它可以工作并且服务停止,但当我使用相同的按钮重新启动时,它不会启动服务

1 个答案:

答案 0 :(得分:1)

此处没有代码可以启动或停止服务。如果OuterClassService.ScreenshotService()Service,则您无法自己创建该类的实例并希望它能够正常工作。

要启动服务,请致电startService()上的Context,并传入标识服务的Intent

要从服务外部停止服务,请在stopService()上呼叫Context,并传入标识服务的Intent。要从正在运行的服务实例中停止服务,请致电stopSelf()