Как вывести виджет на главный экран программно - PullRequest
4 голосов
/ 12 июля 2011

Программно я пытаюсь вывести виджет на главный экран, но у меня возникла проблема при передаче идентификатора виджета через намерение и вызову startActivity(pickIntent). Идет список виджетов, но разработанный мной виджет не выбирается.

final int[] appWidgetIds = appWidgetManager.getAppWidgetIds(component);
Intent intent = getIntent();
        Bundle extras = intent.getExtras();
        if (extras != null) {
            mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
                    AppWidgetManager.INVALID_APPWIDGET_ID);
}

Я получаю extras= null здесь. Итак, я попытался выделить идентификатор виджета как WidgetId = mAppwidgetHost.allocateAppWidgetId();

Отправлено через намерение:

Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
        pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, WidgetId);
        startActivity(pickIntent);

но мой виджет все еще не выбран. Может кто-нибудь, пожалуйста, дайте мне знать, как я могу вызвать виджет на главном экране, без какого-либо взаимодействия с пользователем. Заранее спасибо.

1 Ответ

4 голосов
/ 12 июля 2011

Вы не можете сделать это: стандартный инструмент выбора виджетов не позволяет вам указывать конкретный виджет.

...