Ambient Lock Screen Music — це коренева програма, яка показує будь-яку музику на дисплеї Pixel 2

Нова коренева програма під назвою Ambient Lock Screen Music показує будь-яку музику, яка зараз відтворюється на дисплеї вашого Pixel 2 або Pixel 2 XL.

Остання версія Google Pixel 2 і Pixel 2 XL у флагманів є чудова нова функція під назвою «Зараз грає». Використовуючи поєднання програмного забезпечення, апаратного забезпечення та машинного навчання, Pixel 2 використовує офлайн-базу даних, щоб визначити десятки тисяч пісень, що відтворюються у фоновому режимі. Потім ці пісні відображаються на екрані блокування вашого пристрою, завжди на дисплеї або як поточне сповіщення. На папері ця функція звучить химерно, але після її використання я виявив, що вона справді добре працює. З огляду на це, така функція подобається не всім, тому визнаний учасник XDA Quinny899 придумав додаток під назвою Екран блокування навколишнього середовища що дозволяє вам відобразити назву та виконавця будь-якої пісні, яка зараз відтворюється на вашому пристрої, де зазвичай з’являється текст «Зараз грає».

Як ви бачите у відео вище, розробник вмикає програму, а потім починає відтворювати пісню з Google Play Music. Коли вони показують екран блокування, ви можете побачити поточну пісню внизу, де зазвичай ви бачите функцію «Зараз грає», яка вставляє текст, коли вона розпізнає пісню.

додаток працює лише на Pixel 2/2 XL оскільки він надсилає намір, відповідний приймач намірів якого доступний лише в програмі SystemUIGoogle, наявній на Pixel 2. Крім того, додаток вимагає кореневого доступу щоб функціонувати. Ви можете завантажити програму з XDA Labs за посиланням нижче.

[appbox xda com.kieronquinn.app.ambientlsmusic]

Це не тільки безкоштовно, але це теж цілком без реклами так само. Він підтримує відображення назв пісень/виконавців майже з будь-якої музичної програми, як-от Google Play Music, Spotify, YouTube Red тощо. Ви також можете додати програми до чорного списку, щоб не відображати текст на дисплеї. Нарешті, програма навіть дозволяє двічі торкнутися тексту, який відображається на дисплеї, щоб запустити музичну програму.

Слід зазначити, що це не обов’язково замінює функцію «Зараз грає», хоча може конфліктувати з нею. Якщо функцію «Зараз грає» ввімкнуто одночасно з цим і ви слухаєте музику, поки включено функцію «Зараз грає». активне виявлення пісні, тоді в навколишньому середовищі буде відображено те, що надсилає намір SystemUI останнім дисплей. Незважаючи на це, функція «Зараз грає» все одно відображатиме сповіщення з будь-якою знайденою піснею, тому ви не пропустите цю функцію, якщо використовуєте Ambient Lock Screen Music.


Як працює навколишня музика на екрані блокування

Намір

Як згадувалося раніше, ця програма працює, надсилаючи намір програмі SystemUIGoogle. У додатку Quinny899 це код, який відповідає за надсилання наміру:

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

Давайте розберемо це трохи. Дія в цьому намірі "com.google.android.ambientindication.action.AMBIENT_INDICATION_SHOW" і він має кілька додаткових функцій, які можна надіслати разом з ним.

Перший додатковий - "com.google.android.ambientindication.extra.VERSION", який зараз приймає лише ціле число 1. Наступний екстра це "com.google.android.ambientindication.extra.TEXT", де ми встановлюємо рядок, який ми хочемо відображати на екрані блокування зовнішнього дисплея. Третій додатковий - "com.google.android.ambientindication.extra.OPEN_INTENT", який приймає PendingIntent, який відкривається після подвійного торкання тексту. Quinny899 встановив PendingIntent, щоб відкрити будь-яку програму, для якої відтворюється музика, або засіб вибору android.intent.action.MUSIC_PLAYER.

Нарешті, щоб надіслати цей намір, програма, що викликає, повинна мати дозвіл "com.google.android.ambientindication.permission.AMBIENT_INDICATION." Цей дозвіл визначено як підпис|привілейований, тому цій програмі потрібен доступ root.

Якщо ви хочете перевірити це самостійно, ви можете відкрити кореневий термінал або сеанс оболонки ADB і ввести таку команду:

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

Це призведе до відображення тексту «привіт, світ» на дисплеї навколишнього середовища. Однак це не дозволить вам двічі клацнути, оскільки ця команда не встановлює PendingIntent.

Відображення пісні

Додаток має два методи для запису пісні, яка відтворюється. Перший — через MediaController, який вимагає, щоб програма була прив’язана як слухач сповіщень (хоча насправді це не означає, що програма перехоплює сповіщення, щоб прочитати те, що зараз відтворюється пісня). Другий – через приймачі трансляції, для яких не потрібен слухач сповіщень (і, отже, споживає менше пам’яті), але він менш сумісний, оскільки деякі музичні програми не надсилають повідомлення про те, що цю програму налаштовано для.

Інші програми

Використовуючи той самий намір, ви можете налаштувати програму або Tasker, щоб надсилати будь-який текст, який ви хочете, на зовнішній дисплей. Це відкриває нові параметри налаштування, які повністю залежать від того, що ви хочете бачити. Наприклад, ви можете відображати погоду замість музики.