Ambient Lock Screen Music is een root-app die alle muziek op het Ambient Display van de Pixel 2 weergeeft

Een nieuwe root-app genaamd Ambient Lock Screen Music toont alle muziek die momenteel wordt afgespeeld op het omgevingsdisplay van uw Pixel 2 of Pixel 2 XL.

De nieuwste van Google Pixel 2 en Pixel 2 XL vlaggenschepen hebben een geweldige nieuwe functie genaamd 'Now Playing'. Met behulp van een combinatie van software, hardware en machine learning gebruikt de Pixel 2 een offline database identificeer tienduizenden nummers die op de achtergrond worden afgespeeld. Vervolgens worden deze nummers weergegeven op het vergrendelingsscherm van uw apparaat, altijd weergegeven of als een doorlopende melding. De functie klinkt op papier gimmickachtig, maar nadat ik hem zelf had gebruikt, ontdekte ik dat hij heel goed werkt. Dat gezegd hebbende, is dit soort functies niet ieders ding, dus XDA Recognized Contributor Quinny899 kwam met een app genaamd Ambient vergrendelschermmuziek waardoor je dat kunt de naam en artiest weergeven van elk nummer dat momenteel wordt afgespeeld op uw apparaat waar normaal gesproken de tekst Nu afspelen zou verschijnen.

Zoals je in de video hierboven kunt zien, schakelt de ontwikkelaar de app in en begint vervolgens een nummer van Google Play Muziek af te spelen. Wanneer ze het vergrendelscherm tonen, kun je onderaan het nummer zien dat momenteel wordt afgespeeld, waar je normaal gesproken de functie Nu afspelen ziet, tekst invoegt wanneer een nummer wordt herkend.

De applicatie werkt alleen op de Pixel 2/2 XL omdat het een intentie verzendt waarvan de overeenkomstige intentieontvanger alleen beschikbaar is in de SystemUIGoogle-app die aanwezig is op de Pixel 2. Verder de applicatie vereist root-toegang om te kunnen functioneren. U kunt de applicatie downloaden van XDA Labs via de onderstaande link.

[appbox xda com.kieronquinn.app.ambientlsmusic]

Het is niet alleen vrij, maar het is ook helemaal reclamevrij ook. Het ondersteunt het weergeven van titels/artiesten van vrijwel elke muziekapp, zoals Google Play Music, Spotify, YouTube Red en meer. U kunt ook apps op de zwarte lijst zetten om tekst op het omgevingsdisplay weer te geven. Ten slotte kunt u met de app zelfs dubbeltikken op de tekst die op het omgevingsdisplay wordt weergegeven om de muziek-app te starten.

We moeten er rekening mee houden dat dit niet noodzakelijkerwijs de Now Playing-functie vervangt, hoewel het er wel mee in conflict kan komen. Als Now Playing tegelijkertijd is ingeschakeld en u naar muziek luistert terwijl Now Playing actief is door actief een nummer te detecteren, zal het laatste nummer dat een intentie naar SystemUI stuurt, in de omgeving verschijnen weergave. Hoe dan ook, Now Playing zal nog steeds een melding weergeven met welk nummer het ook heeft gedetecteerd, dus je zult de functie niet missen als je Ambient Lock Screen Music gebruikt.


Hoe Ambient Lock Screen-muziek werkt

De bedoeling

Zoals eerder vermeld, werkt deze applicatie door een intentie naar de SystemUIGoogle-applicatie te sturen. In de app van Quinny899 is dit de code die verantwoordelijk is voor het verzenden van de intentie:

Intent intent = new Intent("com.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW").putExtra("com.google.android.ambientindication.extra.VERSION", 1).putExtra("com.google.android.ambientindication.extra.TEXT", broadcastString).putExtra("com.google.android.ambientindication.extra.TTL_MILLIS", time);
if(clickIntent != null)intent.putExtra("com.google.android.ambientindication.extra.OPEN_INTENT", clickIntent);
elseif(packageName != null) intent.putExtra("com.google.android.ambientindication.extra.OPEN_INTENT", PendingIntent.getActivity(context, 1, context.getPackageManager().getLaunchIntentForPackage(packageName), 0));
intent.setPackage(pName);
context.sendBroadcast(intent, "com.google.android.ambientindication.permission.AMBIENT_INDICATION");

Laten we dit eens opsplitsen. De actie in deze intentie is "com.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW" en er zitten een paar leuke extra's bij die meegestuurd kunnen worden.

De eerste extra is "com.google.android.ambientindication.extra.VERSION" die momenteel slechts een geheel getal van 1 heeft. De volgende extra is "com.google.android.ambientindication.extra.TEXT" Hier stellen we de tekenreeks in die we willen weergeven op het vergrendelscherm van het omgevingsdisplay. De derde extra is "com.google.android.ambientindication.extra.OPEN_INTENT" die een PendingIntent accepteert die wordt geopend bij een dubbele tik op de tekst. Quinny899 heeft de PendingIntent ingesteld om elke applicatie te openen waarvoor muziek wordt afgespeeld of waar een kiezer voor is android.intent.action.MUSIC_PLAYER.

Ten slotte moet de bellende app, om deze intentie te kunnen verzenden, de toestemming hebben "com.google.android.ambientindication.permission.AMBIENT_INDICATION." Deze toestemming is gedefinieerd als handtekening | bevoorrecht, daarom vereist deze app root-toegang.

Als u dit zelf wilt testen, kunt u een geroote terminal of ADB-shellsessie openen en de volgende opdracht invoeren:

ambroadcast-acom.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW--eicom.google.android.ambientindication.extra.VERSION 1 --escom.google.android.ambientindication.extra.TEXT "helloworld"

Hierdoor wordt de tekst "Hallo wereld" weergegeven op het omgevingsdisplay. U kunt echter niet dubbelklikken, omdat deze opdracht geen PendingIntent instelt.

Het nummer weergeven

De app heeft twee methoden om vast te leggen welk nummer wordt afgespeeld. De eerste is via MediaController, waarvoor de app gebonden moet zijn als notificatie-listener (hoewel dit eigenlijk niet betekent dat de app meldingen onderschept om het momenteel afgespeelde bestand te lezen liedje). De tweede is via uitzendontvangers waarvoor geen notificatie-luisteraar nodig is (en dus verbruikt minder geheugen) maar is minder compatibel omdat sommige muziekapps geen uitzendintentie sturen dat deze app is ingesteld voor.

Andere applicaties

Met dezelfde bedoeling kunt u een app of Tasker instellen om elke gewenste tekst naar het omgevingsdisplay te sturen. Dit opent nieuwe aanpassingsmogelijkheden die volledig afhankelijk zijn van wat u wilt zien. U kunt bijvoorbeeld het weer laten weergeven in plaats van muziek.