Ново основно приложение, наречено Ambient Lock Screen Music, показва всяка музика, която в момента се възпроизвежда на екрана на вашия Pixel 2 или Pixel 2 XL.
Най-новото на Google Pixel 2 и Pixel 2 XL флагманите имат страхотна нова функция, наречена „Сега се играе“. Използвайки комбинация от софтуер, хардуер и машинно обучение, Pixel 2 използва офлайн база данни, за да идентифицирайте десетки хиляди песни, които се изпълняват във фонов режим. След това показва тези песни на заключения екран на вашето устройство, винаги на дисплея или като текущо известие. Функцията звучи измамно на хартия, но след като я използвах аз, установих, че работи наистина добре. Като се има предвид това, този вид функция не е любима на всеки, така че XDA Recognised Contributor Куини899 излезе с приложение, наречено Музика за заключен екран на околната среда което ви позволява да показва името и изпълнителя на всяка текущо възпроизвеждана песен на вашето устройство, където обикновено се появява текстът Сега се изпълнява.
Както можете да видите във видеото по-горе, разработчикът активира приложението и след това започва да възпроизвежда песен от Google Play Music. Когато покажат заключения екран, можете да видите текущо възпроизвежданата песен в долната част, където обикновено бихте видели функцията „Сега се възпроизвежда“ да вмъква текст, когато разпознае песен.
Приложението работи само на Pixel 2/2 XL тъй като изпраща намерение, чийто съответен приемник на намерение е наличен само в приложението SystemUIGoogle, присъстващо на Pixel 2. Освен това приложението изисква root достъп за да функционира. Можете да изтеглите приложението от XDA Labs на връзката по-долу.
[appbox xda com.kieronquinn.app.ambientlsmusic]
Не е само Безплатно, но също така е напълно без реклами както добре. Той поддържа показване на заглавия на песни/изпълнители от почти всяко музикално приложение като Google Play Music, Spotify, YouTube Red и др. Можете също така да включите приложенията в черен списък, за да не показват текст на екрана на околната среда. И накрая, приложението дори ви позволява да докоснете два пъти върху текста, показан на околен дисплей, за да стартирате приложението за музика.
Трябва да отбележим, че това не замества непременно функцията Now Playing, въпреки че може да е в конфликт с нея. Ако Now Playing е активиран едновременно с това и вие слушате музика, докато Now Playing е активиран активно откриване на песен, след това коя изпрати намерение до SystemUI най-късно, ще се покаже в околната среда дисплей. Независимо от това, Now Playing все още ще показва известие с песента, която е открила, така че няма да пропуснете функцията, ако използвате Ambient Lock Screen Music.
Как работи 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 shell сесия и да въведете следната команда:
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 да изпраща какъвто искате текст на околния дисплей. Това отваря нови опции за персонализиране, които зависят изцяло от това, което искате да видите. Например, можете да показвате времето вместо музика.