사용자를 대신하여 작업을 수행하려면 접근성 서비스가 몇 개 또는 여러 응용 프로그램에서 이벤트를 수신하도록 등록하고 android:canRetrieveWindowContent를 설정하여 응용 프로그램의 콘텐츠를 볼 수 있는 권한을 요청해야 합니다. 구성 파일. 서비스에서 이벤트를 받으면 getSource()를 사용하여 이벤트에서 AccessibilityNodeInfo 개체를 검색할 수 있습니다. AccessibilityNodeInfo 개체를 사용하면 서비스에서 뷰 계층 구조를 탐색하여 수행할 작업을 결정한 다음 performAction()을 사용하여 사용자에 대해 조치를 취할 수 있습니다. 이 놀라운 문화와 지역 사회 로 인해, 우리는 기회로 소유권 문제를 설정할 수 있습니다. 이 긴밀한 커뮤니티는 Android 접근성 노력의 중추입니다. 모든 사람은 자신의 기능에 기여할 뿐만 아니라 공유 된 보기를 보다 쉽게 이용할 수 있도록 하는 등 여러 이니셔티브에 참여하기 위해 자원하여 중요한 역할을 합니다. 내게 필요한 옵션 서비스는 사용자를 대신하여 작업을 수행하여 응용 프로그램과의 상호 작용을 더 간단하고 생산적일 수 있습니다. 작업을 수행하는 내게 필요한 옵션 서비스의 기능은 Android 4.0(API 수준 14)에 추가되었으며 Android 4.1(API 수준 16)으로 크게 확장되었습니다. 내게 필요한 옵션 서비스는 내게 필요한 옵션 서비스 클래스를 확장하고 해당 클래스에서 다음 메서드를 재정의해야 합니다.

이러한 메서드는 서비스가 시작될 때(onServiceConnected()) 부터 실행 중인 동안(onAccessibilityEvent()), onInterrupt()) 종료 시점(onUnbind())까지 Android 시스템에서 호출되는 순서로 표시됩니다. 이 샘플을 의도한 대로 실행하려면 Android 기기에서 TalkBack(또는 기타 텍스트 음성 시스템)을 켜야 합니다. 설정으로 이동 > 접근성 > 토크백을 켜려면 토크백을 켭니다. 사용자가 내게 필요한 옵션 단추를 사용하여 지정된 내게 필요한 옵션 서비스를 호출할 수 있도록 하려면 서비스는 내게 필요한 옵션 서비스정보 개체의 android:accessibilityFlags 특성에 FLAG_REQUEST_ACCESSIBILITY_BUTTON 플래그를 추가해야 합니다. 그런 다음 서비스는 레지스터를 사용하여 콜백을 등록할 수 있습니다접근성ButtonCallback(). Android 4.1(API 수준 16)에서는 내게 필요한 옵션 포커스라는 새로운 유형의 사용자 인터페이스 포커스가 도입되었습니다. 내게 필요한 옵션 서비스는 이러한 유형의 포커스를 사용하여 표시되는 사용자 인터페이스 요소를 선택하고 이에 따라 조치를 취하지 않을 수 있습니다. 이 포커스 유형은 사용자가 문자를 입력하거나 키보드에서 입력을 누르거나 D 패드 컨트롤의 가운데 버튼을 누를 때 입력을 받는 내용을 결정하는 더 잘 알려진 입력 포커스와 다릅니다. 전체 앱의 접근성을 효율적으로 높이기 위해 접근성 요구 사항의 보강을 자동화하는 몇 가지 엔지니어링 시스템을 구축했습니다.

접근성 요구 사항을 체계화하고 각 Android 엔지니어의 노력 수준을 최소화하도록 설계되었습니다. 우리가 이 작업을 한 영역 중 하나는 페이지 제목이었습니다. 집중적인 조사 를 마친 후 ExploreByTouchHelper를 사용하여 이 보기를 보기와 같은 논리 항목 또는 “가상 보기”의 모음으로 표현하기로 결정했습니다. 기존 Android 네이티브 UI 구성 요소의 접근성을 연구하면 가장 유사한 기존 Android 네이티브 구성 요소가 SeekBar로 밝혀졌으며, 여기서 사용자는 엄지 손가락을 5 % 단위로 위 또는 아래로 밀어 줄 수 있습니다. 논리를 빌려 UI 상호 작용에 대 한 두 개의 엄지 손가락을 나타내는 두 개의 가상 보기를 만들었습니다. “가상”엄지 손가락의 모든 움직임은 현재 가격 범위의 5 %를 변경합니다. 가격 범위가 업데이트되면 사용자에게 최신 가격 범위를 알리는 알림이 표시됩니다.