2017-12-22 10 views
0

접근성 서비스가있는 응용 프로그램을 개발 중입니다. 이 서비스를 통해 윈도우 관리자 화면을 맨 위에 표시하여 백 엔드 기능 (버튼 클릭 및 다른 화면 탐색)을 수행합니다. 이 창 관리자 화면에서 애니메이션을 추가해야합니다 (최악의 경우, 간단한 진행 막대를 추가해야합니다). 나는 아래 롤리팝의 경우 (WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY를 추가하면 내 문제는 또는WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY (창 관리자에 속성) 산들에 대한 이상, 나는 성공적으로 종료 기능을 다시 완료하고 있지만 애니메이션이 걸려)접근성 서비스의 "WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY"속성이있는 WindowManager 애니메이션

1)입니다. 간단한 진행 표시 줄에서도 발생합니다.

2) 을 창 관리자에 추가하면 애니메이션이 성공적으로 표시되지만 백엔드 기능이 작동하지 않습니다.

사소한 도움이 필요합니다. 미리 감사드립니다.

+0

나는 대답하지 않지만 당신을 제안합니다. GitHub 오픈 소스의 스크린 잠금 프로젝트를 이용하고 목표를 달성 할 수있는 아이디어를 얻으십시오. 대신 액티비티 사용 서비스, 싱글 톤 및 창 관리자 – Shubham

+0

"접근성 서비스"로보기를 팽창 시키므로이 프로젝트는 도움이되지 않습니다. 접근성 서비스에는 특별한 제한이 있습니다. – ChrisCM

답변

0

보기를 추가하는 접근성 서비스의 어려움이 올바른 사용 권한을 얻고 있습니다. 접근법 1에 대한 접근 방식이 옳습니다. 이러한 애니메이션의 성능 문제는 관련이없는 문제입니다. 보기가 창 관리자에 성공적으로 추가되면보기 성능에 대한 모든 우려는 사용자가 활동의 컨텍스트에 있었던 것처럼 우려와 유사합니다. 않는 한, 당신은 어떤 종류의 메모리 유출,보기 유출 등이 있습니다. 창 관리자에게 직접 오버레이보기를 추가하는 것은 실수를 저지르는 경향이 있습니다. 그렇지 않으면 이전 버전의 오버레이가 영원히 계속되어 성능이 저하 될 수 있습니다.

서비스 측면에서 옵션 1을 고수하고이 결정의 범위를 벗어나는 성능 문제를 파악하십시오. 그들은 단지 간접적으로 관련되어 있습니다. 성능 문제는이 결정에 의해 직접적으로 야기되는 것이 아니라 다른 곳에서 실수가됩니다. 이게 내가 할 수있는 것은 오직 투기 적 대답만을 제공 할 수 있습니다.