使用Service Android的AppWidgetProvider(Widget)

时间:2011-09-26 07:02:40

标签: android service android-appwidget

为什么在几乎所有的教程或示例中人们都会这样做:

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {
...
    context.startService(resumeIntent);
super.onUpdate(context, appWidgetManager, appWidgetIds);
}

这不是说每次执行更新时都会启动新服务吗?这是最好的解决方案吗?或者发送广播更好吗? 不应该

context.startService(resumeIntent);

最好在onEnabled方法中完成吗?

1 个答案:

答案 0 :(得分:2)

不,该服务仅在尚未运行时启动:如果它已在运行,则会在onStartCommand中发送一个新的Intent并且它可以正确处理。

至于是使用它还是使用onEnabled这样做的好处是,如果服务没有运行,每次都重新启动服务:onEnabled将启动服务但是如果服务因任何原因而被杀,你可能无法重新启动它。