无法在内部 class 广播接收器中启动服务
Cant start service inside inner class broadcast receiver
我正在尝试通过通知中的按钮启动服务。我使用相同的按钮来启动和停止。停止有效,但是当我再次启动时,我在调试器中看到代码执行了 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;
}
}
第一次通知但被按下时,它起作用并且服务停止,但是当我使用相同的按钮再次启动时,它没有启动服务
此处没有启动或停止服务的代码。如果 OuterClassService.ScreenshotService()
是 Service
,您不能自己创建该 class 的实例并期望它起作用。
要启动服务,请在 Context
上调用 startService()
,传入标识该服务的 Intent
。
要从服务外部停止服务,请在 Context
上调用 stopService()
,传入标识该服务的 Intent
。要从 运行 服务 实例内部停止服务,请调用 stopSelf()
.
我正在尝试通过通知中的按钮启动服务。我使用相同的按钮来启动和停止。停止有效,但是当我再次启动时,我在调试器中看到代码执行了 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;
}
}
第一次通知但被按下时,它起作用并且服务停止,但是当我使用相同的按钮再次启动时,它没有启动服务
此处没有启动或停止服务的代码。如果 OuterClassService.ScreenshotService()
是 Service
,您不能自己创建该 class 的实例并期望它起作用。
要启动服务,请在 Context
上调用 startService()
,传入标识该服务的 Intent
。
要从服务外部停止服务,请在 Context
上调用 stopService()
,传入标识该服务的 Intent
。要从 运行 服务 实例内部停止服务,请调用 stopSelf()
.