Виджет с самого начала - PullRequest
0 голосов
/ 25 марта 2011

Я пытаюсь разработать виджет Android. Прямо сейчас я могу открыть Activity, когда виджет, кстати; мне действительно нужно, чтобы при первом нажатии на виджет настраивалось действие, выполняемое при нажатии на виджет.

У кого-нибудь есть идеи, как это сделать? Заранее спасибо


Да, это сработало для меня, но главная проблема сейчас заключается в том, чтобы узнать, как изменить действие, которое должна выполнять кнопка, в зависимости от результата действия по настройке, я не знаю, объясню ли я сам, я опубликую некоторые код для прояснения идеи. Если кнопка А нажата, я хочу сделать это:

RemoteViews r = new RemoteViews(getApplicationContext().getPackageName(),R.layout.main);
Intent configIntent = new Intent(getApplicationContext(), ClickOneActivity.class);
configIntent.setAction(ButtonWidget.ACTION_WIDGET_CONFIGURE);
configIntent.putExtra("execute", "execute");

Если нажата кнопка B, я хочу сделать это:

RemoteViews r = new RemoteViews(getApplicationContext().getPackageName(),R.layout.main);
Intent configIntent = new Intent(getApplicationContext(), ClickOneActivity.class);
configIntent.setAction(ButtonWidget.ACTION_WIDGET_CONFIGURE);
configIntent.putExtra("execute", "no-execute");

И наконец:

PendingIntent cint = PendingIntent.getActivity(getApplicationContext(), 0, configIntent, 0);
r.setOnClickPendingIntent(R.id.button_one, cint);

Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, id);
setResult(RESULT_OK, resultValue);
finish();

1 Ответ

2 голосов
/ 25 марта 2011

Сделайте настройку активности и откройте ее по первому клику. Кроме того, установите флажок для общих предпочтений, чтобы первый щелчок уже был сделан. Если такого флага нет, то клик действительно первый.

...