AppWidgets in App anzeigen (Jellybean)

  • Antworten:0
Aaron B.
  • Forum-Beiträge: 206

06.04.2014, 10:33:12 via App

Hallo,

ich möchte einen Launcher entwickeln, welcher auch AppWidgets binden kann, habe aber jetzt das Problem, das ich im Internet kein einziges Tutorial für Geräte mit Api >= 4.1 finden kann. Ich habe bereits einiges ausprobiert, darunter auch die Vorgehensweise für Geräte mit Api <4.1. Wenn ich bei diesen jedoch den Picker-Intent starte, kommt über onActivityResult ein RESULT_CANCELED result, bevor man ein Widget gewählt hat.

Mein Code:
1AppWidgetHost awh;
2AppWidgetManager awm;
3
4onCreate:
5awm = AppWidgetManager.getInstance(c);
6 awh = new AppWidgetHost(c, R.id.tab_a_appwidgethost);
7 awh.startListening();
8
9onButtonClick:
10int awi = awh.allocateAppWidgetId();
11 Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, awi);
12 putWidgetIntentEmptyData(intent);
13 startActivityForResult(intent, REQUEST_PICK);
14
15public void putWidgetIntentEmptyData(Intent wi)
16 {
17 ArrayList<AppWidgetProviderInfo> customInfo = new ArrayList<AppWidgetProviderInfo>(); wi.putParcelableArrayListExtra(AppWidgetManager.EXTRA_CUSTOM_INFO, customInfo);
18 ArrayList<Bundle> customExtras = new ArrayList<Bundle>(); wi.putParcelableArrayListExtra(AppWidgetManager.EXTRA_CUSTOM_EXTRAS, customExtras);
19 }

Hat irgendwer Erfahrungen mit diesem Thema oder kennt ein gutes Tutorial?

Danke im Voraus :)

[EDIT]
Ich habe mir außerdem den Eintrag in Android Developers zu diesem Thema angesehen. Dort ist zwar ein Beispiel für api >= 4.1, dieses beinhaltet jedoch unerklärte Variablen (z. B. "info".componentName) und ist nur teilweise erklärt.

Antworten