En ny root-app kaldet Ambient Lock Screen Music viser al musik, der i øjeblikket afspilles på din Pixel 2 eller Pixel 2 XLs omgivende skærm.
Googles seneste Pixel 2 og Pixel 2 XL flagskibe har en fantastisk ny funktion kaldet "Now Playing." Ved at bruge en kombination af software, hardware og maskinlæring bruger Pixel 2 en offline database til identificere titusindvis af sange, der spiller i baggrunden. Den viser derefter disse sange på din enheds låseskærm, altid på skærmen eller som en løbende notifikation. Funktionen lyder gimmicky på papiret, men efter at have brugt den selv fandt jeg ud af, at den fungerer rigtig godt. Når det er sagt, er denne slags funktion ikke alles kop te, så XDA anerkendt bidragyder Quinny899 kom op med en app kaldet Ambient låseskærm musik som giver dig mulighed for vise navnet og kunstneren på enhver sang, der afspilles i øjeblikket på din enhed, hvor teksten Spiller nu normalt ville blive vist.
Som du kan se i videoen ovenfor, aktiverer udvikleren appen og begynder derefter at afspille en sang fra Google Play Musik. Når de viser låseskærmen, kan du se den aktuelt afspillede sang nederst, hvor du normalt ville se funktionen Spiller nu indsætte tekst, når den genkender en sang.
Ansøgningen virker kun på Pixel 2/2 XL da den sender en hensigt, hvis tilsvarende hensigtsmodtager kun er tilgængelig i SystemUIGoogle-appen på Pixel 2. Endvidere ansøgningen kræver root-adgang for at fungere. Du kan downloade applikationen fra XDA Labs på linket nedenfor.
[appbox xda com.kieronquinn.app.ambientlsmusic]
Det er ikke kun gratis, men det er det også helt annoncefri såvel. Det understøtter visning af sangtitler/kunstnere fra næsten enhver musikapp, såsom Google Play Musik, Spotify, YouTube Red og mere. Du kan også blackliste apps fra at vise tekst på det omgivende display. Endelig giver appen dig endda mulighed for at dobbeltklikke på teksten vist på det omgivende display for at starte musikappen.
Vi skal bemærke, at dette ikke nødvendigvis erstatter funktionen Nu spiller, selvom det kan være i konflikt med det. Hvis Now Playing er aktiveret på samme tid som dette, og du lytter til musik, mens Now Playing er aktivt registrerer en sang, så vil den seneste, der sender en hensigt til SystemUI, dukke op på ambient Skærm. Uanset hvad vil Now Playing stadig vise en notifikation med hvilken sang den har fundet, så du vil ikke gå glip af funktionen, hvis du bruger Ambient Lock Screen Music.
Sådan fungerer Ambient Lock Screen Music
Hensigten
Som tidligere nævnt fungerer denne applikation ved at sende en hensigt til SystemUIGoogle-applikationen. I Quinny899's app er dette koden, der er ansvarlig for at sende hensigten:
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");
Lad os bryde det lidt ned. Handlingen i denne hensigt er "com.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW
" og den har et par intentions-ekstramateriale, der kan sendes med den.
Den første ekstra er "com.google.android.ambientindication.extra.VERSION
" som i øjeblikket kun tager en heltalsværdi på 1. Den næste ekstra er "com.google.android.ambientindication.extra.TEXT
" hvilket er der, vi indstiller den streng, som vi vil have vist på den omgivende skærmlåseskærm. Den tredje ekstra er "com.google.android.ambientindication.extra.OPEN_INTENT
" som accepterer en PendingIntent, der åbner ved et dobbelttryk på teksten. Quinny899 indstiller PendingIntent til at åbne et hvilket som helst program, der spiller musik eller en vælger for android.intent.action.MUSIC_PLAYER
.
Endelig, for at sende denne hensigt, skal den opkaldende app have tilladelsen "com.google.android.ambientindication.permission.AMBIENT_INDICATION
." Denne tilladelse er defineret som signatur|privilegeret, så det er grunden til, at denne app kræver root-adgang.
Hvis du vil teste dette på egen hånd, kan du åbne en rootet terminal eller ADB shell session og indtaste følgende kommando:
ambroadcast-acom.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW--eicom.google.android.ambientindication.extra.VERSION 1 --escom.google.android.ambientindication.extra.TEXT "helloworld"
Dette vil vise teksten "hello world" på det omgivende display. Det vil dog ikke tillade dig at dobbeltklikke, da denne kommando ikke opsætter en PendingIntent.
Viser sangen
Appen har to metoder til at fange, hvilken sang der afspilles. Den første er gennem MediaController, som kræver, at appen er bundet som en notifikationslytter (selvom det faktisk ikke betyder, at appen opsnapper meddelelser for at læse det, der afspilles i øjeblikket sang). Den anden er gennem broadcast-modtagere, som ikke kræver en notifikationslytter (og dermed forbruger mindre hukommelse), men er mindre kompatibel, da nogle musikapps ikke sender en udsendelsesintention om, at denne app er konfigureret til.
Andre applikationer
Ved at bruge den samme hensigt kan du konfigurere en app eller Tasker til at sende den tekst, du ønsker, til den omgivende skærm. Dette åbner op for nye tilpasningsmuligheder, der er helt afhængige af, hvad du vil se. For eksempel kan du få vist vejret i stedet for musik.