2012-07-08 3 views
1

홈 화면 위젯에서 활동을 시작하려고합니다. 그러나 위젯을 클릭하면 활동이 시작되지 않습니다. 아래는 제 코드입니다.Android : 활동이 위젯에서 시작되지 않음

@Override 
public void onReceive(Context context, Intent i) { 

    AppWidgetManager mgr = AppWidgetManager.getInstance(context); 

    Intent intent = new Intent(context, MyActivity.class); 
    PendingIntent pendingLayout = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

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

    views.setOnClickPendingIntent(R.id.widget, pendingLayout); 

    ComponentName comp = new ComponentName(context, 
      RecentTaskWidget.class.getName()); 

    mgr.updateAppWidget(comp, views); 
} 

Thx! Rahul.

+0

MyActivity는 서비스입니까? 그럼 왜 그렇게 부르죠? – Egor

+0

아니요 ... 같은 패키지에있는 다른 활동 – rahul

답변

0

PendingIntent.getService() 대신 PendingIntent.getActivity()을 사용해야하므로 코드가 작동하지 않는 것일 수 있습니다. 희망이 도움이됩니다.

+0

아직도 작동하지 않습니다. 수정 됨 getActivity() – rahul

+0

onReceive() 메서드가 호출되는시기는 언제입니까? 사실 AppWidget 뷰에 대기중인 인 텐트를 빙빙 내기위한 일반적인 장소는 위젯을 만든 직후에 호출되는 onUpdate()입니다. – Egor

+0

마지막으로 문제가 발견되었습니다. setOnClickPendingIntent()에 대한 뷰 ID를 인수로 지정하는 대신 레이아웃 ID를 지정했습니다. 이제는 활동을 적절하게 호출합니다. 고마워! – rahul

관련 문제