ScreenOnAuto

다른 앱에서 미러링 제어

v1.8.4부터 ScreenOnAuto는 미러링을 시작·중지·전환하는 인텐트 세 가지를 받습니다. 인텐트를 보낼 수 있는 것이라면 무엇이든 — 자동화 앱, 홈 화면 바로가기, ADB 스크립트, 직접 만든 앱 — 이것으로 미러링을 제어할 수 있어, 손으로 켜는 대신 주행 설정의 나머지와 함께 켜지게 할 수 있습니다.

세 가지 액션

액션 동작
idv.lzn.screenonauto.action.START_MIRROR 미러링을 시작합니다. 이미 실행 중이면 아무것도 하지 않습니다.
idv.lzn.screenonauto.action.STOP_MIRROR 미러링을 중지합니다. 실행 중이 아니면 아무것도 하지 않습니다.
idv.lzn.screenonauto.action.TOGGLE_MIRROR 실행 중이면 중지하고, 아니면 시작합니다.

같은 액션을 반복해도 언제나 안전합니다. 이미 실행 중인 미러링에 시작을 보내면 세션을 허물고 다시 세우는 대신 무시하므로, 블루투스가 연결될 때마다 실행되는 작업이 이미 올라와 있는 미러링을 끊지 않습니다.

자동화 앱에서 설정하기

대부분의 자동화 앱은 같은 요소를 저마다의 이름으로 제공합니다. 보통 “인텐트 보내기” 동작이며, 대략 다음과 같은 필드를 가집니다:

필드
Action 위 세 액션 중 하나
Package idv.lzn.screenonauto
Class idv.lzn.screenonauto.MirrorControlActivity (브로드캐스트는 …MirrorControlReceiver)
Target Activity (또는 Broadcast)

특별한 이유가 없다면 액티비티를 쓰십시오. 다음 두 절에서 차이와, 브로드캐스트로는 미러링을 시작하는 것을 믿을 수 없는 이유를 설명합니다. 어느 쪽이든 Class 필드는 선택이 아닙니다. 비워 두면 브로드캐스트는 아예 도착하지 않습니다.

무언가 동작하지 않으면 아래의 해당 ADB 명령을 먼저 실행해 보십시오. 문제가 인텐트에 있는지, 그것을 보내는 앱에 있는지 알려 줍니다.

액티비티 시작하기 (권장)

액션을 idv.lzn.screenonauto/.MirrorControlActivity액티비티로 보냅니다:

adb shell am start -a idv.lzn.screenonauto.action.START_MIRROR \
  -n idv.lzn.screenonauto/.MirrorControlActivity

화면에는 ScreenOnAuto가 전혀 나타나지 않고, 최근 사용 앱에도 아무것도 남지 않습니다. 차에 도착하기 전에 시작을 보내도 됩니다. 미러링은 기다리고 있다가 차량 화면이 준비되면 스스로 이어받습니다.

ℹ️ 참고 미러링이 시작될 때 Android는 여전히 화면 캡처 권한을 요청합니다. 완전히 손대지 않게 하려면 ADB로 한 번 미리 부여하십시오 — ADB로 미러링 권한 부여 참조.

브로드캐스트 보내기

같은 세 액션은 브로드캐스트로도 동작하며, 이때는 idv.lzn.screenonauto/.MirrorControlReceiver로 보냅니다:

adb shell am broadcast -a idv.lzn.screenonauto.action.STOP_MIRROR \
  -n idv.lzn.screenonauto/.MirrorControlReceiver

이 방식으로 보낸 중지는 완전히 조용합니다. 창도 없고 깜빡임도 없습니다.

컴포넌트를 지정하는 것은 선택이 아닙니다. 요즘 Android는 보내는 쪽이 어느 컴포넌트를 향한 것인지 밝히지 않으면 브로드캐스트를 앱에 전달하지 않습니다. 액션만 담긴 브로드캐스트는 버려지고, 어디에도 오류 없이 아무 일도 일어나지 않습니다.

⚠️ 경고 브로드캐스트로 보낸 시작은 신뢰할 수 없고, 실패해도 조용히 실패합니다. 먼저 두 가지를 허용해야 하는데, 많은 휴대전화에서 둘 다 기본으로 꺼져 있습니다:

시작만 필요하다면 위의 액티비티를 쓰십시오. 둘 다 필요 없습니다.

문제 해결

마지막 업데이트: