Ambient Lock Screen Music은 Pixel 2의 주변 디스플레이에 모든 음악을 표시하는 루트 앱입니다.

click fraud protection

Ambient Lock Screen Music이라는 새로운 루트 앱은 현재 Pixel 2 또는 Pixel 2 XL의 주변 디스플레이에서 재생 중인 모든 음악을 보여줍니다.

구글의 최신 픽셀 2 및 픽셀 2 XL 플래그십에는 "Now Playing"이라는 놀라운 새 기능이 있습니다. 소프트웨어, 하드웨어, 기계 학습의 조합을 사용하는 Pixel 2는 오프라인 데이터베이스를 사용하여 백그라운드에서 재생되는 수만 곡의 노래 식별. 그런 다음 해당 노래를 장치의 잠금 화면에 표시하거나 항상 표시하거나 지속적인 알림으로 표시합니다. 이 기능은 서류상으로는 변칙적으로 들리지만 직접 사용해본 후에는 정말 잘 작동한다는 것을 알았습니다. 즉, 이런 종류의 기능은 모든 사람이 좋아하는 것이 아니므로 XDA 인정 기여자 퀴니899 라는 앱이 나왔습니다 주변 잠금 화면 음악 이를 통해 다음을 수행할 수 있습니다. 현재 재생 중인 노래의 이름과 아티스트를 표시합니다. 지금 재생 중 텍스트가 일반적으로 나타나는 장치에서.

위 동영상에서 볼 수 있듯이 개발자는 앱을 활성화한 다음 Google Play 뮤직에서 노래를 재생하기 시작합니다. 잠금 화면이 표시되면 하단에서 현재 재생 중인 노래를 볼 수 있으며, 일반적으로 지금 재생 기능이 노래를 인식하면 텍스트를 삽입하는 것을 볼 수 있습니다.

응용 프로그램 Pixel 2/2 XL에서만 작동합니다. 해당 인텐트 수신기가 Pixel 2에 있는 SystemUIGoogle 앱에서만 사용할 수 있는 인텐트를 전송하기 때문입니다. 게다가, 응용 프로그램 루트 액세스가 필요합니다 기능하기 위해서. 아래 링크의 XDA Labs에서 애플리케이션을 다운로드할 수 있습니다.

[appbox xda com.kieronquinn.app.ambientlsmusic]

뿐만 아니라 무료하지만 그것도 완전히 광고 없음 또한. Google Play 뮤직, Spotify, YouTube Red 등과 같은 거의 모든 음악 앱의 노래 제목/아티스트 표시를 지원합니다. 앱이 주변 디스플레이에 텍스트를 표시하지 않도록 블랙리스트에 추가할 수도 있습니다. 마지막으로, 앱을 사용하면 주변 디스플레이에 표시된 텍스트를 두 번 탭하여 음악 앱을 시작할 수도 있습니다.

이것이 Now Playing 기능을 반드시 대체하지는 않지만 충돌할 수 있다는 점에 유의해야 합니다. Now Playing이 동시에 활성화되어 있고 Now Playing이 활성화된 상태에서 음악을 듣고 있는 경우 노래를 적극적으로 감지하면 SystemUI에 인텐트를 보내는 항목 중 최신 항목이 주변 환경에 표시됩니다. 표시하다. 그럼에도 불구하고 Now Playing은 감지된 노래에 대한 알림을 계속 표시하므로 주변 잠금 화면 음악을 사용하는 경우 이 기능을 놓치지 않을 것입니다.


주변 잠금 화면 음악 작동 방식

의도

앞서 언급했듯이 이 애플리케이션은 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." 이 권한은 서명|권한으로 정의되므로 이 앱에는 루트 액세스가 필요합니다.

이를 직접 테스트하려면 루트 터미널 또는 ADB 셸 세션을 열고 다음 명령을 입력할 수 있습니다.

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

그러면 주변 디스플레이에 "hello world"라는 텍스트가 표시됩니다. 그러나 이 명령은 PendingIntent를 설정하지 않으므로 두 번 클릭하는 것은 허용되지 않습니다.

곡 표시

앱에는 재생 중인 노래를 캡처하는 두 가지 방법이 있습니다. 첫 번째는 앱을 알림 수신기로 바인딩해야 하는 MediaController를 통한 것입니다. (실제로 앱이 현재 재생 중인 음악을 읽기 위해 알림을 가로채고 있다는 의미는 아닙니다. 노래). 두 번째는 알림 수신기가 필요하지 않은 방송 수신기를 통하는 것입니다. 적은 메모리) 그러나 일부 음악 앱은 이 앱이 설정된 브로드캐스트 인텐트를 보내지 않기 때문에 호환성이 떨어집니다. 을 위한.

기타 애플리케이션

동일한 의도를 사용하여 원하는 텍스트를 주변 디스플레이에 보내도록 앱이나 Tasker를 설정할 수 있습니다. 이렇게 하면 보고 싶은 내용에 전적으로 의존하는 새로운 사용자 정의 옵션이 열립니다. 예를 들어, 음악 대신 날씨를 표시할 수 있습니다.