Vi har opdaget, hvordan man aktiverer Google Pixel 2s nye Always on Display-funktion på Nexus 6P, Google Pixel og Pixel XL uden at skulle bruge root!
Det Google Pixel 2 og Pixel 2 XL er de nyeste smartphones i Googles Pixel-smartphone-serie, og mens hardwaren for det meste er en trinvis forbedring i forhold til den forrige generation af Pixel-telefoner, softwaren har et par virkelig smarte nye funktioner. Der er den nye kamerateknologi, der bruges i telefonens Portrættilstandsfunktion, kaldes den altid lyttende musikgenkendelsesfunktion Spiller nu, og en Always on Display-funktion. Desværre vil ingen af disse funktioner finde vej til Googles tidligere smartphones, i det mindste officielt. Vi har tidligere vist, at det er muligt at aktivere Pixel 2's Always on Display via brugerdefineret ROM, men vi har for nylig opdaget, at det er muligt aktiver Always on Display på Nexus 6P, Pixel og Pixel XL uden root.
Billedkreditering: XDA Junior-medlem InFlames03
Always on Display kan nu aktiveres takket være Android 8.1 og Substratum
Tidligere rapporterede vi, at det ville være umuligt at aktivere Always on Display-funktionen på enhver ældre Google-telefon. Det skyldes, at Google har hardkodet funktionen, der gør det muligt for Always on Display altid at returnere falsk. Dette var tilfældet i kildekodefaldet til Android 8.0 Oreo, men er ikke længere sandt med udgivelsen af Android 8.1 Oreo Developer Preview 1.
Som vist på skærmbillederne ovenfor returnerede den funktion, der er ansvarlig for at bestemme, om Always on Display skal aktiveres eller ej, tidligere kun "falsk". I den seneste AmbientDisplayConfiguration kode, men den søger nu efter en boolsk konfigurationsværdi kaldet "config_dozeAlwaysOnDisplayAvailable", som er sat af Google til at være sandt på Pixel 2 og Pixel 2 XL, men falsk på alle andre telefoner, de laver.
For at være mere specifik bruger Google et framework-overlay installeret i /vendor/overlay kaldet framework-res_auto_generated_rro til at angive værdien af denne konfiguration. Da dette framework-overlay er baseret på OverlayManagerService (OMS), kan vi oprette vores eget framework-overlay til force config_dozeAlwaysOnDisplayAvailable for at returnere "true" på Nexus 6P, Pixel og Pixel XL.
Dette er muligt, fordi OMS, temarammeværket bygget af Sony, er integreret indbygget fra Android Oreo. Takket være dette kan vi bruge de indbyggede kommandoer til at administrere og installere vores egne temaer—alt sammen uden at kræve root. Ved at gøre det opdagede udviklere, hvordan man får det populære Substratum tema manager arbejder på Android Oreo-enheder. For således at få Always on Display til at fungere, vi vil bruge Substratum theme manager med dets Andromeda plugin for at installere vores specielle rammeoverlay på Nexus 6P, Pixel og Pixel XL.
Til sidst er der endnu et forvirringspunkt, jeg vil tage fat på – nemlig det faktum, at vi bruger det, der populært kaldes en "temamotor" for at aktivere en skjult funktion. Selvom Substratum almindeligvis bruges til at installere temaer, er det mere præcist at kalde disse temaer "ressource overlejringer." Det er fordi disse "temaer" angiver værdier, der erstatter de oprindelige ressourcer i deres mål app. Normalt erstatter ressourceoverlejringer bare farveværdier i den originale app, men de kan også målrette mod heltal, strenge eller boolske værdier i appens ressourcer. Nogle eksisterende Substratum-overlays bruger dette til tilpasse låseskærmen, den seneste apps-skærm og hurtige indstillinger for eksempel.
Under alle omstændigheder har du forhåbentlig en bedre forståelse af, hvad det er, vi skal til. Følg vejledningen nedenfor for at aktivere Always on Display fra Pixel 2 til den første generation af Google Pixel-telefoner samt Nexus 6P.
Sådan aktiverer du Google Pixel 2's Always on Display-funktion på Nexus 6P, Pixel og Pixel XL
Krav:
- Nexus 6P, Google Pixel eller Google Pixel XL. Nexus 5X fungerer, men anbefales ikke på grund af dens mangel på en OLED-skærm.
- Android 8.1 Oreo Developer Preview 1. Du kan finde firmwarefilerne her.
- Licens til Substratums Andromeda-plugin ($1.99). Uden dette vil du ikke være i stand til at installere det rammeoverlay, vi lavede. I hvert fald ikke let.
Tutorial
Særlig tak til XDA Junior Member InFlames03 for at hjælpe med opdagelsen af denne funktion, teste den og til sidst tilbyde en rammeoverlejring til download. Tjek hans nye ud Oreo og Frisk temaer.
- Konfigurer Substratum og dets Andromeda-plugin. Du kan følge med denne tutorial hele vejen indtil du er færdig med del 1.
- Installer alwaysOn-enabler APK fra AndroidFileHost eller den Pixel Enabler-app fra Google Play Butik. Førstnævnte er blot en grundlæggende overlejring, der aktiverer denne funktion, mens sidstnævnte vil inkludere flere funktioner i fremtiden.
- Åbn Substratum og se efter "Always On Enabler" af Sai i temalisten. Tryk på den.
- Trykke på "vælg for at skifte alle overlejringer."
- Tryk på flydende malerrulleknap.
- Vælg "Byg og aktiver."
- Genstart.
- Åbn Indstillinger --> Skærm. Udvid "Fremskreden"kategori og tryk på"Ambient display."
- Du skal se en "Altid på" skifte. Deaktiver og genaktiver den. Nyd Always on Display!
Alternativt kan du se følgende video, der gennemgår de grundlæggende trin, der er nødvendige for at aktivere Always on Display. Videoen blev optaget af XDA Senior Member eqbirvin på sin Google Pixel XL, der kører Android 8.1 Oreo. Bemærk, at vi stadig anbefaler, at du genstarter, selvom videoen ikke viser nogen genstart.
Forbehold
Nexus 6P, Pixel og Pixel XL tilbyder som standard ikke en Always on Display-funktion, fordi deres skærme ikke er korrekt indstillet til at gå ind i den lave strømstilstand, som Pixel 2's skærme er. Brug af denne overlejring til at aktivere Always on Display kan således betragtes som et hack, da det ikke er uden forbehold. Vi har ikke brugt dette i en længere periode til at måle strømforbrug eller andre potentielle problemer, men indtil videre er her de problemer, vi stødte på:
- Det virker ikke at trykke på tænd/sluk-knappen for at vågne direkte ind i låseskærmen fra Always on Display. Du skal trykke to gange på tænd/sluk-knappen.
- Dobbelttryk for at vågne direkte ind på låseskærmen fra Always on Display virker ikke. Du skal dobbelttrykke to gange (4 tryk).
- Nogle gange kan en grå skærm poppe op under en oplåsningsfase.
Du vil ikke have nogen af ovenstående problemer, hvis du låser din telefon op fra Always on Display-skærmen ved hjælp af fingeraftryksscanneren. Hvis du støder på nogle af de problemer, der er anført ovenfor, kan en simpel genlåsning og oplåsning med dit fingeraftryk også løse problemet.
Konklusion
Vi har mistanke om, at problemerne nævnt ovenfor er relateret til, at skærmen ikke skifter korrekt fra Always on Display-tilstanden til skærmen på-tilstand, og vi undersøger potentielle rettelser. Det er muligt, at disse problemer aldrig bliver løst, eller de kan blive rettet ved et tilfælde i en fremtidig udviklereksempel. Vores største frygt er, at Google ser, hvad vi laver, og igen fastkoder Always on Display. Vi håber ikke, det sker, men det er bestemt en mulighed. Indtil videre kan du nyde Google Pixel 2's Always on Display-funktion, mens du kan!