2014-12-26 3 views
0

에 나는 알림을 모니터링하는 AccessibilityService을 사용하고 있습니다. 나는 thisthis 따랐다. 마지막으로 작동하고 새로운 알림에 대해 알게됩니다. 나는이 방법을 수행 ACCESSIBILITY_SETTINGS에서 활성화 할 사용자를 요청해야 안드로이드 AccessibilityService 오프 상태

그러나, AccessibilityService 연결 에 :

Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS); 
startActivityForResult(intent, 0); 

그러나이 문제는 내가 확인 할 것입니다 사용자가 활성화 한 경우 (AccessibilityService). 또한, 나는 그들이 이미 활성화 한 경우 활성화를 다시 사용자가 요청하지 않는 일을. 그래서, 이것을 할 수 있습니까?

답변

1

당신은 사용자가 보안 설정을 선택하여 접근성 서비스를 사용 가능 여부를 테스트 할 수 있습니다. Settings.Secure.getString() 당신에게 기반 서비스의 :로 구분 된 목록을 줄 것이다, 그리고 당신이 거기에 있는지 여부를 확인할 수 있습니다. 이런 식으로 뭔가 :

ComponentName compName = new ComponentName(context, MyAccessibilityService.class); 
String flatName = compName.flattenToString(); 
String enabledList = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES); 
boolean isEnabled = enabledList != null && enabledList.contains(flatName);