Android: establezca targetSdkVersion en 22 para evitar permisos de tiempo de ejecución, ¿cuáles son los posibles problemas?

¿Alguien puede resumir los inconvenientes de establecer targetSdkVersion en 22 para evitar el manejo de permisos de tiempo de ejecución?

Después de leer los documentos de Google sobre esto y algunas otras publicaciones de Stack Overflow, el único inconveniente que puedo encontrar es que un usuario puede otorgar permiso en el momento de la instalación, luego ir a la configuración de su sistema operativo y revocar ese permiso específico para esa aplicación específica, y luego ejecuta la aplicación nuevamente. Sin embargo, a partir de algunos de los ejemplos que encontré, esto no es difícil de tratar en el código.

¿Es este realmente el único inconveniente de usar targetSdkVersion 22 para forzar los permisos en el momento de la instalación? ¿Las cosas se mantendrán así durante años en el futuro?

Además, si, por ejemplo, uso esta configuración en mi archivo build.gradle:

compileSdkVersion 24
buildToolsVersion "24.0.1"
minSdkVersion 19
targetSdkVersion 22

¿Puedo seguir accediendo a las funciones API 23 y 24 en una aplicación o estoy limitado a 22 y anteriores?

Antes de que alguien responda con "Es una buena práctica no hacer esto y solicitar permisos en tiempo de ejecución según sea necesario según lo recomendado por Google", sí, por supuesto, soy consciente de esto. Y sí, también conozco algunos ejemplos que intentan proporcionar un código de placa de caldera para solicitar permisos de tiempo de ejecución como:

https://github.com/googlesamples/easypermissions

Sin embargo, hay al menos dos situaciones en las que puedo pensar que sería muy ventajoso solicitar permisos en el momento de la instalación y no instalar la aplicación si no se otorgan los permisos:

1) Suponga que a la mitad de la semana laboral la persona con la que me presento pregunta "¿Puede, reúne una aplicación de prueba de concepto de Android para la reunión del viernes que hace XYZ para mostrarle a algunos visitantes que tenemos ese día?" Si tengo que reunir una versión alfa rápida de una aplicación y solo tengo unos días para hacerlo, y tomará tanto tiempo reunir la funcionalidad básica, y la aplicación requerirá, digamos, 4 permisos, sería sería mucho mejor exigir todos los permisos en el momento de la instalación de la versión alfa, así que tengo tiempo para dedicarme a la funcionalidad de la aplicación. Luego, si sigo adelante, mientras muevo la aplicación a la versión beta y luego a la final, para cambiar las solicitudes de permisos a una por una en tiempo de ejecución según sea necesario.

2) Algunas aplicaciones necesitan absolutamente ciertos permisos para ser de alguna utilidad. Por ejemplo, si estoy escribiendo una aplicación OpenCV que toma imágenes de la cámara y luego hace algo basado en lo que está o no en las imágenes, sería preferible no permitir que dicha aplicación se instale para comenzar si el usuario no está dispuesto a otorgar permiso para la cámara.

Realmente desearía que Google lo hubiera dejado como una opción para solicitar / requerir permisos en el momento de la instalación, y también ofrecer la opción de solicitar permisos en tiempo de ejecución. ¿Ha habido comentarios negativos de los desarrolladores con respecto a la decisión de poder solicitar permisos solo en tiempo de ejecución? ¿Es posible que Google permita solicitudes de permiso en el momento de la instalación o en una versión futura, en cuyo caso simplemente podría usar la opción targetSdkVersion 22 mientras tanto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta