Desde la versión 6 (Android Marshmallow), existen dos categorías de permisos:
Los permisos llamados normales: estos permisos están garantizados si se solicitan en el manifiesto de la aplicación, pues no afectan a la vida privada del usuario ni sus datos personales (por ejemplo: Internet).
Los permisos llamados sensibles: estos permisos requieren una petición en runtime (mientras el usuario utiliza la aplicación) a través de un pop-up de confirmación. Estos permisos son sensibles, pues afectan a la vida privada del usuario (por ejemplo: acceso a la lista de contactos).
La solicitud de permisos en runtime es obligatoria solamente si la aplicación utiliza la versión 23 o superior (6.0 o +) en targetSdkVersion.
Si utiliza un recurso sin haber solicitado el permiso correspondiente, obtendrá una SecurityException.
Permisos normales
Es posible solicitar un permiso fácilmente agregando la etiqueta <uses-permission> en el archivo AndroidManifest.xml.
Si desea utilizar una conexión a Internet en su aplicación, incluirá la siguiente línea en su manifiesto:
<uses-permission android:name="android.permission.INTERNET" />
Los permisos de sistema empiezan todos por android.permission; puede encontrarlos en la siguiente dirección: http://developer.android.com/reference/android/Manifest.permission.html
Permisos sensibles
Los permisos sensibles tienen que declararse también en el manifiesto de la aplicación. ...
Suscripción
acceso ilimitado a todos los libros de ENI sin compromiso de permanencia
libro impreso o digital online