Android permissions has 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 android app, you sometimes may need to change system settings. For example change the android device screen brightness. But such action need your app has android.permission.WRITE_SETTINGS permission, otherwise you may encounter below exception.