How to set the Permission WRITE_SECURE_SETTINGS in

2019-04-21 20:10发布

问题:

This question already has an answer here:

  • How can I get the dreaded WRITE_SECURE_SETTINGS permission for my android app? 3 answers

I am trying to enable the Accessibility Service Settings above 4.0 but It is showing an Exception i.e.,

Caused by: java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS

In Manifest I have Declared This permission like this.

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

But in manifest giving compilation Error i.e., Permission is only System Apps. So i am not Understanding how to resolve this issue.

Thanks in advance

Here is my sample code

if (Settings.Secure.getString(getContentResolver(),
                Settings.Secure.ACCESSIBILITY_ENABLED).contains("1")) {
            if (Settings.Secure.getString(getContentResolver(),
                    Settings.Secure.ACCESSIBILITY_ENABLED).contains("1")) {
                System.out.println("Putting the Value to Enable..");
                Settings.Secure.putInt(getContentResolver(),
                        Settings.Secure.ACCESSIBILITY_ENABLED, 0);
            } else {
                Settings.Secure.putInt(getContentResolver(),
                        Settings.Secure.TOUCH_EXPLORATION_ENABLED, 1);
            }
        }

回答1:

WRITE_SECURE_SETTINGS is not available to applications. No app outside of the system/firmware can get that permisssion.

Please check this answer