Android - hinzufügen AppWidgets zu einer Aktivität
Mein erstes Ziel ist das hinzufügen der Google-Suche-widget, um die lineare Anordnung der Aktivität. Ich müssen es einfach wie es scheint, und arbeitet in den Launcher (das ist, warum ich brauchen, um in der Lage sein, hinzufügen, um das widget).
Möchte ich hinzufügen, widgets zu meiner Tätigkeit, ohne zu müssen, starten Sie den widget-picker-Aktivität. Ich habe versucht:
1. geben Sie direkt eine integer-id (bekomme ich immer inflate-Fehler)
2. Holen Sie sich die id so:
ComponentName cn = new ComponentName(getBaseContext(), "com.android.quicksearchbox.SearchWidgetProvider");
int[] ids = AppWidgetManager.getInstance(getApplicationContext()).getAppWidgetIds (cn);
(das array ist immer leer)
Keines dieser Werke.
Danach habe ich diesen code, um die ID - (es funktioniert, wenn ich die ID aus der widget-picker-Aktivität):
AppWidgetProviderInfo withWidgetInfo = AppWidgetManager.getInstance(getApplicationContext()).getAppWidgetInfo(appWidgetId);
AppWidgetHostView hostView = myWidgetHost.createView(getBaseContext(), appWidgetId, withWidgetInfo);
hostView.setAppWidget(appWidgetId, withWidgetInfo);
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
ll.addView(hostView);
Wie soll ich es tun? Danke!
InformationsquelleAutor stormofwar | 2012-04-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
BEARBEITEN:
Binden widget-IDs, D. H. um widgets zu aktualisieren und auf Benutzerinteraktionen reagieren, finden Sie hier die Lösung: Widgets, die nicht reagieren, wenn Sie wieder über code Hinzugefügt
appWidgetManager.bindAppWidgetId();
ausgeführt werden können, indem Sie ein system app, nur, richtig? Auch ich bin auf der Suche nach eine Arbeit um für diese, können Sie helfen?Gut, ich konnte den code, der funktioniert (außer es soll und kann nicht arbeiten, die einfach - details liefern unten).
Den code, der funktionieren sollte ist:
Gut, das problem ist "appWidgetManager.bindAppWidgetId(appWidgetId, cn); " - das erfordert die Erlaubnis BIND_APPWIDGET - in-manifest.
- auch wenn wir es immer noch nicht funktionieren. Ich habe gelesen es kann sein, reserviert für system, Anwendungen
Allerdings auch nach dem hinzufügen der Berechtigung und setzen die apk in den system/app Ordner, es funktioniert immer noch nicht (es macht es eine system-app).
Zu diesem problem fand ich diese Antwort hier:
Allerdings bin ich unsicher, aber vielleicht bedeutet dies, dass das, was wir erreichen konnten, die gewünschte Funktionalität zu erhalten, wenn wir könnten signieren der apk mit dem Bild developer ' s Schlüssel? Jedoch, das ist die Frage Thema.
Aber wenn Sie geschehen, in der Lage sein, mir zu erklären, wie man effizient host AppWidgets, bitte tun und habe Ihre Antwort akzeptiert von mir (launcher Anwendungen auf dem Markt, der es tun kann, so muss es möglich sein).