判断AccessibilityService是否已经启用

来源:互联网 发布:淘宝代销什么赚钱 编辑:程序博客网 时间:2024/05/21 21:26

Note : Change value of final String service = "com.test.package.name/com.test.package.name.YOURAccessibilityService" with your Service. 

// To check if service is enabledprivate boolean isAccessibilitySettingsOn(Context mContext) {        int accessibilityEnabled = 0;        final String service = "com.test.package.name/com.test.package.name.YOURAccessibilityService";        boolean accessibilityFound = false;        try {            accessibilityEnabled = Settings.Secure.getInt(                    mContext.getApplicationContext().getContentResolver(),                    android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);            Log.v(TAG, "accessibilityEnabled = " + accessibilityEnabled);        } catch (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, "***ACCESSIBILIY IS ENABLED*** -----------------");            String settingValue = Settings.Secure.getString(                    mContext.getApplicationContext().getContentResolver(),                    Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);            if (settingValue != null) {                TextUtils.SimpleStringSplitter splitter = mStringColonSplitter;                splitter.setString(settingValue);                while (splitter.hasNext()) {                    String accessabilityService = splitter.next();                    Log.v(TAG, "-------------- > accessabilityService :: " + accessabilityService);                    if (accessabilityService.equalsIgnoreCase(service)) {                        Log.v(TAG, "We've found the correct setting - accessibility is switched on!");                        return true;                    }                }            }        } else {            Log.v(TAG, "***ACCESSIBILIY IS DISABLED***");        }        return accessibilityFound;          }

And call this method as

if (! isAccessibilitySettingsOn(getApplicationContext())) {            startActivity(new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS));        }

This will check and launch accessibility settings if not enabled.

原创粉丝点击