1
onReceive()에서 클릭 된 위젯의 ID를 가져올 수 없습니다. 항상 0을 반환하는 것은 여기 내 코드입니다 :intent.getIntExtra (AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
나는 내가 그것을 작동 밤은 이유를 잘 모릅니다, 코드 형태로 Android 개발자 문서를 가지고@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(WIDGET_BUTTON)) {
int widgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
log("WID ID" + widgetId);
..
답 :
내가 그리워 :
AppWidgetManager mgr = AppWidgetManager.getInstance(context);
그럼 내 코드는 다음과 같습니다 :
@Override
public void onReceive(Context context, Intent intent) {
AppWidgetManager mgr = AppWidgetManager.getInstance(context);
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.widget_main);
if (intent.getAction().equals(WIDGET_BUTTON)) {
Bundle extras = intent.getExtras();
int widgetId = 0;
if (extras != null && extras.containsKey(AppWidgetManager.EXTRA_APPWIDGET_ID))
widgetId = intent.getIntExtra(mgr.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
log("1 - WID ID" + widgetId);