我正在尝试通过通知中的按钮启动服务。我使用相同的按钮来启动和停止。停止工作,但当我再次启动时,我在调试器中看到代码执行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;
}
}
第一次通知但是按下了,它可以工作并且服务停止,但当我使用相同的按钮重新启动时,它不会启动服务
答案 0 :(得分:1)
此处没有代码可以启动或停止服务。如果OuterClassService.ScreenshotService()
是Service
,则您无法自己创建该类的实例并希望它能够正常工作。
要启动服务,请致电startService()
上的Context
,并传入标识服务的Intent
。
要从服务外部停止服务,请在stopService()
上呼叫Context
,并传入标识服务的Intent
。要从正在运行的服务实例中停止服务,请致电stopSelf()
。