2013-04-19 75 views
17

Piszę aplikację, która powinna móc dodawać widżety (właśnie polach tekstowych) do ekranu głównego telefonu użytkownika, gdy użytkownik instruuje moją aplikację, aby to zrobić. Jak mogę zrobić coś takiego?Jak dodać widżet do ekranu głównego Androida z mojej aplikacji?

wiem, że mogę dodać widżet aplikacji, ale jak o dodanie więcej?

+0

Możliwy duplikat [Oprawa AppWidgets do AppWidgetHost - Android] (http://stackoverflow.com/questions/4258579/binding-appwidgets-to-appwidgethost-android) – rds

+0

@rds wygląda to tak powinno być w rzeczywistości cel dupe dla drugiego. Ten ma więcej przydatnych odpowiedzi i był oglądany około dwa razy tyle razy, co drugi. Zobacz tutaj: http://meta.stackoverflow.com/questions/252929/which-question-is-the-better-reference-for-a-duplicate –

+0

Jak dodać ** widżet aplikacji **? Potrzebuję go, ale nie wiem jak. –

Odpowiedz

24

nie jest możliwe z app umieścić widget na ekranie głównym. Tylko ekran główny może dodawać widżety aplikacji do ekranu głównego.

podobne linki link1, link2, link3

Ale można oferują użytkownikowi wybrać widget z widgetpicker.

Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK); 
    pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetID); 
    startActivityForResult(pickIntent, KEY_CODE); 
+0

Czytałem to w wielu miejscach, że jest to możliwe (tutaj na SO), ale nikt nie wyjaśnił, w jaki sposób. –

+0

zobacz moją zredagowaną odpowiedź. .. również w link2 Mark Murphy powiedział, że nie jest możliwe automatyczne umieszczenie widżetu w domu .... – stinepike

+0

Jak już powiedziałem, nie chcę automatycznie dodawać widgetów, ale niech użytkownik decyduje, aby je dodać. –

2

Domyślna aplikacja uruchamiająca AFAIK nie obsługuje tego. Powodem jest to, że użytkownik powinien umieścić wszystko na ekranie głównym. Umożliwienie wstawiania widżetów z aplikacji otwiera drzwi dla aplikacji, aby "spamować" dom użytkownika za pomocą "użytecznych" widżetów.

+0

Próbuję napisać to w taki sposób, aby interakcja użytkownika była potrzebna do umieszczenia widżetu. –

3

Ten odpowiedział dawno temu, ale w przypadku gdy ktoś potyka na to pytanie pomyślałem, że powinienem dać odpowiedź up-to-date.

Jako Android O (API 26), można teraz przypiąć widgetów do wyrzutni użytkownika z aplikacji!

Wystarczy utworzyć widget w pliku AndroidManifest aplikacji i użyć AppWidgetManager, aby poprosić o przypięcie widgetu do programu uruchamiającego. Zauważ, że to od programu uruchamiającego, aby obsługiwać tę funkcję, musisz wywołać metodę AppWidgetManager isRequestPinAppWidgetSupported(), zanim zażądasz jej przypięcia.

Oto niektóre dokumenty z Google, która przechodzi w bardziej szczegółowo: https://developer.android.com/preview/features/pinning-shortcuts-widgets.html#widgets

nadzieję, że to pomaga!