반응형

[Snippet]

앱 진입시 "스크린 리더" 감지하기

@Override
protected void onResume() {
super.onResume();

AccessibilityManager accessibilityManager = (AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE);
boolean isScreenReaderEnabled = accessibilityManager.isEnabled() && accessibilityManager.isTouchExplorationEnabled();

if (isScreenReaderEnabled) {
// 스크린 리더 활성화시
} else {
// 스크린 리더 비활성화시
}
}

 

 

[Sample]

"스크린 리더" 활성화에 따른 UI 변경

public class MainActivity extends AppCompatActivity {
private TextView mTextView;
private ImageButton mImageButton;
private Button mButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mTextView = findViewById(R.id.textView);
mImageButton = findViewById(R.id.imageButton);
mButton = findViewById(R.id.button);
}

@Override
protected void onResume() {
super.onResume();

AccessibilityManager accessibilityManager = (AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE);
boolean isScreenReaderEnabled = accessibilityManager.isEnabled() && accessibilityManager.isTouchExplorationEnabled();

if (isScreenReaderEnabled) {
mTextView.setText(getResources().getString(R.string.screen_reader_enable));
mButton.setVisibility(View.VISIBLE);
mImageButton.setVisibility(View.INVISIBLE);
} else {
mTextView.setText(getResources().getString(R.string.screen_reader_disable));
mButton.setVisibility(View.INVISIBLE);
mImageButton.setVisibility(View.VISIBLE);
}
}
}

프로젝트 화일
ScreenReaderDetectTest.zip

 

 

[실행결과]

 

 

 

+ Recent posts