Az Ambient Lock Screen Music nevű új gyökéralkalmazás megjeleníti a Pixel 2 vagy Pixel 2 XL környezeti kijelzőjén jelenleg lejátszott zenéket.
A Google legújabb Pixel 2 és Pixel 2 XL a zászlóshajók egy fantasztikus új funkcióval rendelkeznek, a „Now Playing” néven. A szoftver, a hardver és a gépi tanulás kombinációját használva a Pixel 2 offline adatbázist használ több tízezer, a háttérben lejátszott dal azonosítása. Ezután megjeleníti ezeket a dalokat az eszköz lezárási képernyőjén, mindig a képernyőn, vagy folyamatos értesítésként. A funkció trükkösen hangzik papíron, de miután magam használtam, rájöttem, hogy nagyon jól működik. Ennek ellenére ez a fajta funkció nem mindenki teája, ezért az XDA elismert közreműködője Quinny899 nevű alkalmazással állt elő Ambient Lock Screen Music amely lehetővé teszi megjeleníti az aktuálisan lejátszott dal nevét és előadóját eszközén, ahol a Most játszott szöveg általában megjelenik.
Amint a fenti videón is látható, a fejlesztő engedélyezi az alkalmazást, majd elkezd lejátszani egy dalt a Google Play Zene szolgáltatásból. Amikor megjelenik a lezárási képernyő, az éppen lejátszott zeneszám alul látható, ahol általában a Most játszott funkció szöveget szúr be, amikor felismer egy dalt.
Az alkalmazás csak a Pixel 2/2 XL-en működik mivel olyan szándékot küld, amelynek megfelelő intent-vevője csak a Pixel 2-n található SystemUIGoogle alkalmazásban érhető el. Továbbá az alkalmazás root hozzáférést igényel működéséhez. Az XDA Labs alkalmazását az alábbi linkről töltheti le.
[appbox xda com.kieronquinn.app.ambientlsmusic]
Nem csak ingyenes, de az is teljesen reklámmentes is. Támogatja a dalcímek/előadók megjelenítését szinte bármilyen zenei alkalmazásból, mint például a Google Play Zene, a Spotify, a YouTube Red stb. A környezeti kijelzőn szöveget megjelenítő alkalmazásokat is tiltólistára helyezheti. Végül az alkalmazás lehetővé teszi, hogy duplán koppintson a környezeti kijelzőn megjelenő szövegre a zenei alkalmazás elindításához.
Meg kell jegyeznünk, hogy ez nem feltétlenül helyettesíti a Most játszott funkciót, bár ütközhet vele. Ha a Now Playing funkció engedélyezve van ezzel egy időben, és zenét hallgat, miközben a Most játszik aktívan észlel egy dalt, akkor amelyik a legfrissebb szándékot küld a SystemUI-nak, az megjelenik a környezeti környezetben kijelző. Ettől függetlenül a Now Playing továbbra is értesítést jelenít meg az észlelt dalokról, így nem marad le a funkcióról, ha az Ambient Lock Screen Music alkalmazást használja.
Hogyan működik az Ambient Lock Screen Music
A szándék
Mint korábban említettük, ez az alkalmazás úgy működik, hogy szándékot küld a SystemUIGoogle alkalmazásnak. A Quinny899 alkalmazásában ez a kód felelős a szándék elküldéséért:
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");
Ezt bontsuk fel egy kicsit. A cselekvés ebben a szándékban a következő:com.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW
", és van néhány intencionális extrája, amit el lehet küldeni vele.
Az első extra a "com.google.android.ambientindication.extra.VERSION
", amely jelenleg csak 1-es egész számot vesz fel. A következő extra a "com.google.android.ambientindication.extra.TEXT
", ahol beállítjuk a karakterláncot, amelyet meg akarunk jeleníteni a környezeti kijelző zárolási képernyőjén. A harmadik extra a "com.google.android.ambientindication.extra.OPEN_INTENT
", amely elfogad egy függőben lévő szándékot, amely a szöveg dupla érintésére nyílik meg. A Quinny899 úgy állítja be a PendingIntent funkciót, hogy bármely alkalmazást megnyissa, amely zenét játszik le, vagy egy választót android.intent.action.MUSIC_PLAYER
.
Végül a szándék elküldéséhez a hívó alkalmazásnak rendelkeznie kell a "com.google.android.ambientindication.permission.AMBIENT_INDICATION
." Ez az engedély aláírás|kiváltságosként van definiálva, ezért ehhez az alkalmazáshoz root hozzáférésre van szükség.
Ha ezt egyedül szeretné tesztelni, megnyithat egy rootolt terminált vagy ADB shell munkamenetet, és beírhatja a következő parancsot:
ambroadcast-acom.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW--eicom.google.android.ambientindication.extra.VERSION 1 --escom.google.android.ambientindication.extra.TEXT "helloworld"
Ez a "hello world" szöveget jeleníti meg a környezeti kijelzőn. Nem teszi lehetővé azonban a dupla kattintást, mivel ez a parancs nem állít be függőben lévő szándékot.
A Dal megjelenítése
Az alkalmazás két módszerrel rögzíti a lejátszott dalt. Az első a MediaControlleren keresztül történik, amely megköveteli, hogy az alkalmazás értesítésfigyelőként legyen kötve (bár ez valójában nem jelenti azt, hogy az alkalmazás elfogja az értesítéseket, hogy elolvassa az éppen lejátszott tartalmat dal). A második a műsorszóró vevőkön keresztül történik, amelyekhez nincs szükség értesítésfigyelőre (és így fogyaszt kevesebb memória), de kevésbé kompatibilis, mivel egyes zenealkalmazások nem küldenek sugárzási szándékot, ha ez az alkalmazás be van állítva számára.
Egyéb alkalmazások
Ugyanezen szándékkal beállíthat egy alkalmazást vagy a Taskert, hogy bármilyen szöveget küldjön a környezeti kijelzőre. Ez új testreszabási lehetőségeket nyit meg, amelyek teljes mértékben attól függnek, hogy mit szeretne látni. A zene helyett például az időjárást jelenítheti meg.