Установите виджеты на главном экране программно - PullRequest
0 голосов
/ 03 ноября 2010

У меня есть главное окно активности в моем приложении, в котором отображаются три иконки, также есть 3 виджета домашнего экрана в этом приложении.

есть возможность длительного нажатия на одну из иконок восновное действие, чтобы сделать то же поведение, что и при установке ярлыков программы из меню приложения при перетаскивании ярлыков на рабочий стол? (например, это видео: http://www.youtube.com/watch?v=DQ37cASti4k) или пользователь должен перейти на домашний экран \ меню\ add \ widget ??

Ответы [ 2 ]

4 голосов
/ 03 ноября 2010

Пользователь должен будет вручную установить виджет приложения.Поскольку виджеты необходимо позиционировать - и поэтому пользователям не нужно навязывать виджеты приложений - пользователи должны добавить их на главный экран.

0 голосов
/ 13 августа 2017

В Android O можно установить виджет приложения программным способом.

AppWidgetManager mAppWidgetManager =
    context.getSystemService(AppWidgetManager.class);

AppWidgetProviderInfo myWidgetProviderInfo = new AppWidgetProviderInfo();
ComponentName myProvider = myWidgetProviderInfo.provider;

if (mAppWidgetManager.isRequestPinAppWidgetSupported()) {
  // Create the PendingIntent object only if your app needs to be notified
  // that the user allowed the widget to be pinned. Note that, if the pinning
  // operation fails, your app isn't notified.
  Intent pinnedWidgetCallbackIntent = new Intent( ... );

  // Configure the intent so that your app's broadcast receiver gets
  // the callback successfully. This callback receives the ID of the
  // newly-pinned widget (EXTRA_APPWIDGET_ID).
  PendingIntent successCallback = PendingIntent.createBroadcast(context, 0,
          pinnedWidgetCallbackIntent);

  mAppWidgetManager.requestPinAppWidget(myProvider, null,
           successCallback.getIntentSender());
}

Также ознакомьтесь с официальным документом Google Документация

...