Android 停止小部件';不使用时的服务

Android 停止小部件';不使用时的服务,android,Android,我很难让我的小部件停止占用这么多资源 我在AlarmManager上设置了更新。当小部件被删除(onDisabled())时,我会调用该服务的.cancel(),但该服务仍然显示在android的“运行进程”中,让我相信我做错了什么。有什么指导吗 另外,我应该在oneEnabled()或onUpdate()中安排更新吗?除了第一个小部件,onUpdate似乎对其他任何东西都不起作用 谢谢你能给我的帮助 最好的做法是在服务完成它需要做的事情之后停止服务,而不是在停止之前让小部件被删除 您应该让它更

我很难让我的小部件停止占用这么多资源

我在AlarmManager上设置了更新。当小部件被删除(onDisabled())时,我会调用该服务的.cancel(),但该服务仍然显示在android的“运行进程”中,让我相信我做错了什么。有什么指导吗

另外,我应该在oneEnabled()或onUpdate()中安排更新吗?除了第一个小部件,onUpdate似乎对其他任何东西都不起作用


谢谢你能给我的帮助

最好的做法是在服务完成它需要做的事情之后停止服务,而不是在停止之前让小部件被删除

您应该让它更新小部件,然后调用stopSelf();如果您将AlarmManager设置为再次启动服务,这应该不是问题

关于更新。您必须在widgetconfig XML文件中设置小部件更新的频率。从android 1.6开始,我相信最短的更新时间是30分钟。(如果您需要更频繁地进行更新,那么alarm manager是您最好的选择。)onUpdate将传递一个小部件ID数组,您需要循环它们以获取所有小部件