Android defines a set of permissions that third-party apps can request. Permissions are categorized by sensitivity; most permissions are either \"normal\" or \"dangerous\".
From android M permissions will be granted at runtime. User consent is not required for Normal permissions but for Dangerous permissions user is required to grant the permission to application.
Normal permissions: https://developer.android.com/guide/topics/security/normal-permissions.html
Dangerous permissions: Dangerous permissions cover areas where the app wants data or resources that involve the user's private information https://developer.android.com/guide/topics/security/permissions.html#normal-dangerous