앱 위젯에서 Intent 를 받아서 Receiver에서 액션을 처리 하는 프로그램을 설계 중인데요.
인터넷에서 예제를 다 받아서 실행해 보아도 PendingIntent.getBroadcast 를 통해서 Intent 를 발생해도 아무련 변화가 없네요...
Log 를 이용해서 Receiver에 두어도 아무런 반응도 튀어나오지 않네요..
근데 Activity를 불러오는건 PendingIntent.getActivity 는 잘 실행되어서 Intent 가 발생되는게 보이는데..
이상하게 PendingIntent.getBroadcast 만 변화가 없네요..
제 컴터의 애뮬레이터의 문제일 수 도 있는건가요?

아래 소스는 인터넷에서 받아서 실행시켜본 소스인데요. 실행시키면 나오는 버튼 두개에서 Btn2 를 눌렀을 때 화면의 변화는 없지만
Activity가 불려지는것이 Log에 남는게 확실히 보이는데
Btn1을 눌렀을 때 액션이 나타나지 않네요..;;; 무슨 문제일까요?;;; ㅠㅠ
 
public class TestWidgetProvider extends AppWidgetProvider {
 private static final String ACTION_ACTION1 = "com.rosa.action.test1";
  
 @Override
 public void onUpdate(Context context, AppWidgetManager appWidgetManager,
   int[] appWidgetIds) {
  PendingIntent pending1 = PendingIntent.getBroadcast(context, 0,
    new Intent(ACTION_ACTION1), 0);
  PendingIntent pending2 = PendingIntent.getActivity(context, 0,
    new Intent(context, TestActivity.class), 0);
  RemoteViews views = new RemoteViews(context.getPackageName(),
    R.layout.testwidget_layout);
  views.setOnClickPendingIntent(R.id.TestBtn1, pending1);
  views.setOnClickPendingIntent(R.id.TestBtn2, pending2);
  Log.d("Test","seting");
  ComponentName thisWidget = new ComponentName(context,
    TestWidgetProvider.class);
  AppWidgetManager manager = AppWidgetManager.getInstance(context);
  manager.updateAppWidget(thisWidget, views);
      
  super.onUpdate(context, appWidgetManager, appWidgetIds);
 }
 @Override
 public void onReceive(Context context, Intent intent) {
  String action = intent.getAction();
  Log.e("ROSA", action);
  if (action.equals(ACTION_ACTION1)) {
   Log.d("Test","testok");
   Toast.makeText(context, "onReceive :: ACTION_ACTION1  ", 3000)
     .show();
  } else if (action.equals(Intent.ACTION_SCREEN_OFF)) {
   Log.d("Test","testerror");
  } else {
   // 여긴 안올꺼임
  }
  super.onReceive(context, intent);
 } 
}