Vamos a ver cómo saber, en tiempo de ejecución, si tenemos concedido un determinado permiso. Esto nos ayudará a que, si no lo tenemos ya, la aplicación no termine con error, sino que podamos avisar al usuario. Para ello podemos usar la siguiente función:
private boolean ChekPermission(String permission){ //Este método comprueba si el persmiso que se pasa está declarado o disponemos de el //Si el permiso está granted (está declarado con uses-permission) devolverá true. int result = this.checkCallingOrSelfPermission(permission); return result==PackageManager.PERMISSION_GRANTED; }
La funcón checkCallingOrSelfPermission(permission) devuelve la constante PERMISSION_GRANTED o PERMISSION_DENIED a la que podemos también acceder desde el PackageManager.