2014-07-08 13 views
9

Einige Apps sind bereits für Android Wear herausgekommen, die benutzerdefinierte Zifferblätter enthalten (like this one). Sie sind nicht nur Apps, die einfach ein Zifferblatt anzeigen; Sie sind vollwertige Gesichter, die beim langen Drücken des Startbildschirms der Uhr ausgewählt werden können. Ich kann keine Dokumentation darüber finden, wie Sie Ihre App so einrichten, dass sie ein benutzerdefiniertes Gesicht bereitstellt. Wie konfigurierst du deine App, um ein Gesicht bereitzustellen?Benutzerdefiniertes Zifferblatt für Android Wear

Antwort

18

EDITMit dem Update von Android Wear Lollipop, gibt es eine brandneue (und was noch wichtiger ist, offizielle) API für Android Wear-Uhr Gesichter.

können Sie überprüfen die blog post zu diesem Thema, lesen Sie die official documentation oder download the sample code.

Alles unterhalb dieser Linie für historische Zwecke ist nur :)


Sie brauchen nur eine Aktivität mit einem bestimmten Intent-Filter zur Verfügung zu stellen, und umfassen ein paar Berechtigungen (Informationen von here).

Aktivität:

<activity 
    android:name=".WatchActivity" 
    android:allowEmbedded="true" 
    android:theme="@android:style/Theme.DeviceDefault.NoActionBar" 
    android:label="@string/watch_preview_name"> 

    <meta-data 
     android:name="com.google.android.clockwork.home.preview" 
     android:resource="@drawable/watch_preview_image" /> 

    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="com.google.android.clockwork.home.category.HOME_BACKGROUND" /> 
    </intent-filter> 
</activity> 

Und die Berechtigungen:

<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 

By the way, der Quellcode von der Anwendung, die Sie aus dem Play Store erwähnt ist auch availabe on github.


Der Grund für die WAKE_LOCK Erlaubnis einschließlich ist sehr gut in this G+ post by Sam Duke erklärt. Wenn die Uhr gedimmt wird, geht die CPU im Allgemeinen in einen Zustand mit geringer Leistungsaufnahme, so dass Aktualisierungen des Zifferblattes nicht sofort angezeigt werden. Das Erfassen eines PARTIAL_WAKE_LOCK, wenn der Bildschirm aktualisiert werden muss, löst dieses Problem.


EDITBeachten Sie, dass dies ein „inoffizieller“ API ist und wie pro this post by Wayne Piekarski, es in Zukunft brechen, wenn die offizielle API freigegeben wird (was passieren soll, wenn Android Wear auf L-Upgrade) .

+1

Ah, da ist es. Für was sind die Berechtigungen?Es scheint auf einem Wear Emulator ohne sie zu funktionieren und 'WAKE_LOCK' scheint besonders unnötig zu sein. –

+0

Auch neugierig auf WAKE_LOCK –

+0

Wake Lock ist erforderlich. Ich habe einen Beitrag in der G + Community darüber geschrieben – Sam

Verwandte Themen