AppWidgetProvider를 구현ㅇ해서 아래 처럼 PendingIntent 로 activity를 호출하는데

서비스에 외부 인터페이스로 기능을 구현했습니다.

아래처럼 PendingIntent  를 통해 호출하면 MainEmpty Activity의 화면이 뜨는데요.

저는 화면없이 기능을 호출하고 싶습니다.

그래서 생각한것이 아래처럼 BR호출인데 

이것도 Activity가 아니라AppWidgetProvider를 상속 구현한거라고 sendBroadcast 메소드 없음 에러가 납니다.

Intent intent = new Intent();

intent.setAction("dev.widget.ONOFF");

sendBroadcast(intent);


목적은 위젯을 클릭하면 서비스의 함수를 호출하는것인데요.

화면없이 실행해서 위젯의 ON/OFF 이미지를 바로 바꾸고 하는게 기능은데요

위젯 이미지 변경은 커녕 화면 없이 서비스르 호출하는 방법을 못찾고있습니다.

방법좀 아시면 부탁드립니다.


@Override

public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {

super.onUpdate(context, appWidgetManager, appWidgetIds);


final int N = appWidgetIds.length;

for(int i = 0; i < N; i++){

int appWidgetId = appWidgetIds[i];

Log.d("DEV","AppWidgetProvider : onUpdate["+i+"]:"+appWidgetId);

Intent intent = new Intent(context, MainEmpty.class);

PendingIntent pi = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

 

RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.widget_layout);

views.setOnClickPendingIntent(R.id.btn_widget, pi);


//views.setImageViewResource(R.id.btn_widget, R.drawable.icon_widget_on);

appWidgetManager.updateAppWidget(appWidgetId, views);

}

}