Frage

Ich habe eine Android-Anwendung mit Version 1.6 Ich nehme die Tapete und zeigen Sie es auf meiner Anwendung. (Ich weiß, dass programmatisch von getWallpaper () auf der Aktivität Aufruf)

Wenn dies auf einem 2.1 Telefon installiert, die Live-Tapete hat, wird die Live-Bilder nicht von getWallpaper () zurückgegeben, weil es gerade gibt ein Auslosungs und Live-Tapete ist wahrscheinlich eine andere Sache.

So ist die Frage, ist es möglich, ein Live-Wallpaper auf dem Hintergrund einer 1,6-Anwendung zu zeigen? Wie?

Danke

=============================================== =========================================

Bisher habe ich nicht gefunden, eine Lösung für dieses. Ich füge dies besser verstehen die Frage

Um klar zu sein: Die App ist geschrieben für 1.6, so dass es auf allen 1.6 und höher arbeiten. Die Frage ist: Können wir eine App mit 1,6 als Ziel zu schreiben, sondern unterstützen Live-Wallpaper, wenn sein Wesen auf einem 2.1-Gerät läuft ??

Danke

War es hilfreich?

Lösung

ich eine Lösung gefunden:

1) Mit android.os.Build.VERSION.SDK_INT überprüfen, welche Version das Telefon hat. 2) machen, wenn / else Anrufe, so dass für jede Version Sie die gewünschte Methode aufrufen können. In diesem Fall:

  

if (android.os.Build.VERSION.SDK_INT> = 7) {

     

this.setTheme (android.R.style.Theme_Wallpaper);

     

}

     

sonst

     

{

     

// etwas anderes

     

}

3) Erstellen Sie die App 2.1. und Satz in den manifesten Uses-sdk android: minSdkVersion = "4" so läuft es auch auf 1.6

4) stellen Sie sicher, es funktioniert auf beiden Telefonen 1.6 und 2.1, denn da Sie Anrufe auf beide SDKs haben, stellen Sie sicher, dass Sie Methoden aufrufen 2.1 nicht, wenn Sie 1.6 und die andere Art und Weise herumlaufen.

Danke für die Hilfe

Andere Tipps

Live-Hintergrundbilder wurden in 2.1 hinzugefügt, so dass es einfach nicht sinnvoll, zu versuchen, ein Live-Wallpaper zu zeigen, auf einem 1.6 (oder 2.0) Gerät.

2.0 der Theme.Wallpaper Thema Stil wurde hinzugefügt, die als neue offizielle Art und Weise, eine Tätigkeit zu setzen (oder Fenster) oben auf die Tapete des Systems (live oder nicht). Natürlich, da diese in 2.0 erscheinen, können Sie auch diese nicht in 1.6 verwendet werden.

Vor 2.0, der einzige Weg, um die Anzeige auf der Oberseite des Systems Tapete war getWallpaper () verwenden, um das statische Hintergrundbild abzurufen, und kümmern uns um es zu zeichnen Sie sich in Ihrer Benutzeroberfläche. Dies kann natürlich Live-Wallpaper nicht unterstützen.

Wenn Sie eine App haben, dass Shows in der Tapete auf beiden Pre-2.0 und 2.0 und späteren Versionen der Plattform, müssen Sie die API-Version in android.os.Build überprüfen und anpassen Ihr Verhalten entsprechend: wenn Sie Ihre Aktivität, wenn 2.0 oder eine spätere Verwendung setTheme Initialisieren des Wallpaper Thema zu wählen; andernfalls erhält die ziehbar und der Hintergrund der Benutzeroberfläche machen. Wenn die Tapete Thema verwenden, müssen Sie sicherstellen, dass Ihre UI ziehen keine undurchsichtigen Hintergrund oben drauf und es vertuschen. Sie sollten auch versuchen, Ihre Aktivität ist das Thema zu Theme.Translucent Einstellung, besseres Verhalten auf 2.0 oder höher zu erhalten (wo im Idealfall würden Sie Theme.Wallpaper verwenden, gibt Ihnen auch die richtigen Animationen).

Eigentlich Sie denkbar Verwendung könnten resouurces versioniert Ihr eigenes Thema zu machen, dass paßt in geeigneter Weise in Abhängigkeit von der Plattform-Version (entweder eine Tapete oder ein traditionelles Thema). Ich habe noch nie, dies zu tun versucht, aber.

Haben Sie versucht, mit Theme.Wallpaper als Thema Ihre Aktivität ist? Dass Sätze des Telefon Tapete als Hintergrund der Tätigkeit, und arbeitet mit Live Wallpaper.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top