Hinzufügen von android: widgetCategory="keyguard | home_screen" während noch ältere sdk unterstützt wird

8

Ich versuche mein Widget so zu ändern, dass es auf 4.2 Lockscreens platziert werden kann. Ich möchte jedoch immer noch ältere SDKs unterstützen.

Ich habe

hinzugefügt %Vor%

an meinen appwidget-provider in res / xml, aber Eclipse beschwert sich, dass es keine "resource identifier" für das Attribut widetCategory im Paket android '

gibt

Wenn ich minSdkVerion auf 17 setze, funktioniert alles einwandfrei, aber ich möchte immer noch ältere SDKs unterstützen.

Ich habe versucht, Ressourcenqualifizierer zu verwenden, die eine separate Datei res / xml-v17 / mywidget.xml erstellen und dort nur das Tag hinzufügen, aber der Fehler erscheint immer noch.

Danke für jede Hilfe.

Bearbeiten: Ich habe es herausgefunden. Die Verwendung eines res / xml-v17 / Ordners ist die Antwort. Ich musste nur das Build-Ziel für mein Projekt auf 17 / 4.2 ändern.

    
Sam Russell 20.11.2012, 07:42
quelle

2 Antworten

9

Ich denke, dass das Setzen von targetSdk auf 17 ausreicht. XML-Elemente, die bei älteren SDKs keinen Sinn ergeben, werden einfach ignoriert.

Sie müssen mywidget.xml nicht in den Ordner res/xml-v17

einfügen     
Tomáš Hubálek 26.11.2012 08:22
quelle
6

Legen Sie eine Kopie Ihrer mywidget.xml im Ordner res / xml-v17 / ab. Dies zielt auf Android 4.2 ab und alle neuen Eigenschaften des appwidget-provider-Elements sind verfügbar. Klicken Sie mit der rechten Maustaste auf Ihr Projekt in eclipse und ändern Sie das Build-Ziel auf: API level 17 / Android 4.2

Ich habe dein Edit gesehen. Aber ich denke, das macht es klarer, dass diese Frage eine Antwort hat.

UPDATE: Ich kann die Antwort von Tomáš Hubálek bestätigen. Das xml-v17 wird nicht benötigt. Das Ändern des Build-Ziels ist ausreichend. Klicken Sie mit der rechten Maustaste auf Ihr Projekt in Eclipse und ändern Sie das Build-Ziel in: API-Ebene 17 / Android 4.2

    
RoggA 22.11.2012 08:49
quelle