Android permissions have been divided into two groups from android 6.0 which build name is android marshmallow. And the related SDK version is 23. This article will tell you the difference between those groups with examples.
When you write an android app, you sometimes may need to change system settings. For example, change the android device screen brightness. But such action needs your app to have android.permission.WRITE_SETTINGS permission, otherwise you may encounter the exception with the message java.lang.SecurityException: com.dev2qa.example was not granted this permission: android.permission.WRITE_SETTINGS.