내 서비스가 활성화되어 있는지 어떻게 알 수 있습니까? 그래서 내 서비스가 활성화되어 있지 않은지 확인한 다음 사용자에게 사용 가능하게 설정하도록 알려줍니다.내게 필요한 옵션 서비스가 활성화되었는지 검색
감사합니다.
내 서비스가 활성화되어 있는지 어떻게 알 수 있습니까? 그래서 내 서비스가 활성화되어 있지 않은지 확인한 다음 사용자에게 사용 가능하게 설정하도록 알려줍니다.내게 필요한 옵션 서비스가 활성화되었는지 검색
감사합니다.
다음은 접근성 서비스가 사용되는지 여부를 확인하는 방법입니다.
참고 : 서비스와 함께 YOURAccessibilityService
의 값을 변경하십시오.
// To check if service is enabled
private boolean isAccessibilitySettingsOn(Context mContext) {
int accessibilityEnabled = 0;
final String service = getPackageName() + "/" + YOURAccessibilityService.class.getCanonicalName();
try {
accessibilityEnabled = Settings.Secure.getInt(
mContext.getApplicationContext().getContentResolver(),
android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);
Log.v(TAG, "accessibilityEnabled = " + accessibilityEnabled);
} catch (Settings.SettingNotFoundException e) {
Log.e(TAG, "Error finding setting, default accessibility to not found: "
+ e.getMessage());
}
TextUtils.SimpleStringSplitter mStringColonSplitter = new TextUtils.SimpleStringSplitter(':');
if (accessibilityEnabled == 1) {
Log.v(TAG, "***ACCESSIBILITY IS ENABLED*** -----------------");
String settingValue = Settings.Secure.getString(
mContext.getApplicationContext().getContentResolver(),
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
if (settingValue != null) {
mStringColonSplitter.setString(settingValue);
while (mStringColonSplitter.hasNext()) {
String accessibilityService = mStringColonSplitter.next();
Log.v(TAG, "-------------- > accessibilityService :: " + accessibilityService + " " + service);
if (accessibilityService.equalsIgnoreCase(service)) {
Log.v(TAG, "We've found the correct setting - accessibility is switched on!");
return true;
}
}
}
} else {
Log.v(TAG, "***ACCESSIBILITY IS DISABLED***");
}
return false;
}
그리고이 메소드를 호출하기 :
if (!isAccessibilitySettingsOn(getApplicationContext())) {
startActivity(new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS));
}
이 확인하고 사용할 수 없습니다 경우 접근성 설정을 시작합니다.
매력처럼 작동합니다. –
@Pankaj getint 메소드가 예외를 찾을 수없는 예외를 throw하면 어떻게됩니까? 이 경우 우리는 무엇을 할 수 있습니다. KITKAT 에뮬레이터에서 해봤지만이 설정은 예외를 발견하지 못했지만 설정은 거기에 있습니다. 이 경우에 사용할 수있는 다른 방법이 있습니까? – dirtydexter
감사합니다. 예상대로 작동합니다. 마지막 줄에서 getPackageName()을 사용하는 것이 더 좋습니다. String service = mContext.getPackageName() + "/"+ mContext.getPackageName() + ".YourAccessibilityService"; – user207064
[Android : 특정 AccessibilityService가 사용 설정되었는지 어떻게 확인하나요?] (http://stackoverflow.com/questions/5081145/android-how-do-you-check-if-a-particular-accessibilityservice) -is-enabled) – Sam