Ambient Lock Screen Music är en rotapp som visar vilken musik som helst på Pixel 2:s Ambient Display

En ny rotapp som heter Ambient Lock Screen Music visar all musik som för närvarande spelas på din Pixel 2 eller Pixel 2 XLs omgivande skärm.

Googles senaste Pixel 2 och Pixel 2 XL flaggskepp har en fantastisk ny funktion som heter "Nu spelas." Med en kombination av mjukvara, hårdvara och maskininlärning använder Pixel 2 en offlinedatabas för att identifiera tiotusentals låtar som spelas i bakgrunden. Den visar sedan dessa låtar på enhetens låsskärm, alltid på displayen eller som ett pågående meddelande. Funktionen låter knepigt på pappret, men efter att ha använt den själv upptäckte jag att den fungerar riktigt bra. Som sagt, den här typen av funktion är inte allas kopp te, så XDA Recognized Contributor Quinny899 kom med en app som heter Ambient låsskärm musik som låter dig visa namnet och artisten för alla låtar som spelas på din enhet där texten Spelas nu normalt skulle visas.

Som du kan se i videon ovan aktiverar utvecklaren appen och börjar sedan spela en låt från Google Play Musik. När de visar låsskärmen kan du se den låt som spelas längst ner där du normalt skulle se funktionen Spelas nu infoga text när den känner igen en låt.

Ansökan fungerar bara på Pixel 2/2 XL eftersom den skickar en avsikt vars motsvarande avsiktsmottagare endast är tillgänglig i SystemUIGoogle-appen som finns på Pixel 2. Vidare gäller ansökan kräver root-åtkomst för att fungera. Du kan ladda ner applikationen från XDA Labs på länken nedan.

[appbox xda com.kieronquinn.app.ambientlsmusic]

Det är inte bara fri, men det är också helt annonsfri också. Den stöder visning av låttitlar/artister från nästan alla musikappar som Google Play Musik, Spotify, YouTube Red och mer. Du kan också svartlista appar från att visa text på den omgivande displayen. Slutligen låter appen dig till och med dubbelklicka på texten som visas på den omgivande displayen för att starta musikappen.

Vi bör notera att detta inte nödvändigtvis ersätter funktionen Nu spelas, även om det kan komma i konflikt med det. Om Now Playing är aktiverat samtidigt som detta och du lyssnar på musik medan Now Playing är aktivt upptäcka en låt, sedan kommer den senaste som skickar en avsikt till SystemUI att dyka upp på omgivningen visa. Oavsett vilket kommer Now Playing fortfarande att visa en notifiering med vilken låt den än har upptäckt, så du kommer inte att missa funktionen om du använder Ambient Lock Screen Music.


Hur Ambient Lock Screen Music fungerar

Meningen

Som nämnts tidigare fungerar denna applikation genom att skicka en avsikt till SystemUIGoogle-applikationen. I Quinny899s app är detta koden som är ansvarig för att skicka avsikten:

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");

Låt oss bryta ner det här lite. Åtgärden i denna avsikt är "com.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW" och den har några extrafunktioner som kan skickas med den.

Det första extra är "com.google.android.ambientindication.extra.VERSION" som för närvarande bara tar ett heltalsvärde på 1. Nästa extra är "com.google.android.ambientindication.extra.TEXT" vilket är där vi ställer in strängen som vi vill ska visas på den omgivande displayens låsskärm. Det tredje extra är "com.google.android.ambientindication.extra.OPEN_INTENT" som accepterar en PendingIntent som öppnas vid ett dubbeltryck på texten. Quinny899 ställer in PendingIntent för att öppna vilken applikation som helst som spelar musik eller en väljare för android.intent.action.MUSIC_PLAYER.

Slutligen, för att skicka denna avsikt måste den uppringande appen ha tillståndet "com.google.android.ambientindication.permission.AMBIENT_INDICATION." Denna behörighet definieras som signatur|privilegierad så det är därför den här appen kräver root-åtkomst.

Om du vill testa detta på egen hand kan du öppna en rootad terminal eller ADB-session och ange följande kommando:

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

Detta kommer att visa texten "hej världen" på den omgivande displayen. Det tillåter dig dock inte att dubbelklicka, eftersom det här kommandot inte ställer in en PendingIntent.

Visar låten

Appen har två metoder för att fånga vilken låt som spelas. Den första är genom MediaController, som kräver att appen är bunden som en aviseringslyssnare (även om det faktiskt inte betyder att appen fångar upp aviseringar för att läsa det som spelas för närvarande låt). Den andra är genom sändningsmottagare som inte kräver en aviseringslyssnare (och därmed förbrukar mindre minne) men är mindre kompatibel eftersom vissa musikappar inte skickar en sändningsuppfattning att den här appen är konfigurerad för.

Andra applikationer

Med samma avsikt kan du ställa in en app eller Tasker för att skicka vilken text du vill till den omgivande displayen. Detta öppnar upp för nya anpassningsalternativ som är helt beroende av vad du vill se. Du kan till exempel få vädret visat i stället för musik.