まず、ウィジェットからサービスを作成している間、実行中のサービスはバッテリーとメモリを使用するため、必要な変更を行ったらすぐに停止することをお勧めします。
ウィジェットを作成するには、これが役立ちます:-
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
for (int i = 0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];
//Give the name of service you want to start in your case Alarm Service
Intent intent = new Intent(context, WidgetService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0,
intent, 0);
//This basically sets the layout of your widget to widget_layout
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
views.setOnClickPendingIntent(R.id.imageView1, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
サービスクラスでは、必要な変更を行った後、OnStart()メットフッドでstopSelf()を使用できます。