2 votos

¿Es necesario declarar los permisos en el manifiesto para que una aplicación tenga el acceso que proporciona?

Estaba usando Copia universal durante un tiempo para poder copiar el texto de los campos que normalmente no se pueden seleccionar, pero debido a que es capaz de ver todo el contenido en la pantalla cuando se ejecuta, me gustaría desactivar la en la configuración de accesibilidad hasta que sea necesario, que era un dolor. He encontrado Copiado , que hace lo mismo pero con un solo permiso (ejecutar al inicio) declarado, y establece lo siguiente:

Esta aplicación no utiliza ninguna conexión a Internet en absoluto, por lo que nunca sincroniza ninguno de sus datos guardados en cualquier lugar. Puedes confirmarlo tú mismo comprobando los permisos de la aplicación. Sus datos están seguros en su dispositivo.

A primera vista, esto parece genial, ya que parece que no hay preocupación por darle el acceso que implica el servicio de accesibilidad. Sin embargo, sé que los permisos de Android no están tan bien definidos, por desgracia, y que si una aplicación tiene cualquier permiso en una categoría, tiene todo permisos en esa categoría. Dado que el permiso "ejecutar al inicio" está en la categoría "Otros", que es también donde se encuentran los permisos de Internet, parecería que tendría ese acceso, aunque no lo solicite específicamente.

Así que mi pregunta es, ¿es eso cierto, o una aplicación tienen declarar un permiso en su manifiesto para poder utilizarlo, y esa declaración siempre ¿significa que ese permiso se mostrará al ver los permisos de una aplicación en la Play Store? Es decir, ¿es Copycat realmente seguro, o podría seguir enviando información, y el desarrollador está equivocado, lo que no sería exactamente prometedor, o mintiendo directamente, lo que sería claramente malo? Les envié un correo electrónico hace unas semanas pero no he recibido respuesta.

P.D. No estaba seguro de si esto debería ir en Stack Overflow, ya que está relacionado con la programación, o no, ya que no está relacionado con ningún código específico.

1 votos

Android lanza un error de excepción cuando una función es solicitada por una aplicación para la que no tiene el permiso necesario declarado en su manifiesto. Dicho esto, una actualización puede añadir fácilmente el permiso de Internet y, dado que ese permiso entra en la otra categoría, el usuario nunca recibe una notificación al respecto, ni siquiera cuando se realiza la carga lateral de la actualización.

0 votos

Si te estoy entendiendo bien, ¿estás diciendo que como no declara los permisos de internet en el manifiesto (basándote en que no aparecen en los detalles de los permisos en la página de Play Store), no puede usarlos aunque estén en la misma categoría de la que sí declara/solicita, pero puede añadirlo en cualquier momento sin que me avise b/c está en la misma categoría? Si ese es el caso, siempre compruebo los permisos para ver si se ha añadido alguno nuevo antes de actualizar las aplicaciones, así que eso no sería un problema.

1 votos

Los permisos de Android se clasifican en normales, peligrosos, de firma, de firma o de sistema. Hay otro concepto llamado grupos de permisos y cualquier permiso de cualquier clasificación puede estar en un grupo. Lo que se refiere a una categoría se llama técnicamente grupo de permisos. Si concedes un permiso de un grupo, el sistema concederá automáticamente el resto de los permisos de ese grupo, si la aplicación los solicita, sin pedir la aprobación del usuario. De nuevo, esto está limitado a un grupo, así que sólo porque una app pueda acceder a un permiso normal no significa que pueda acceder a todos los normales....

1voto

Norman Nuthu Puntos 16

Una aplicación básica de Android no tiene permisos asociados por defecto, lo que significa que no puede hacer nada que afecte negativamente a la experiencia del usuario o a cualquier dato del dispositivo. Para hacer uso de las características protegidas del dispositivo, debe incluir en su AndroidManifest.xml una o más etiquetas que declaren los permisos que su aplicación necesita. En el momento de la instalación de la aplicación, el instalador del paquete le concede los permisos solicitados por la aplicación, basándose en la comprobación de las firmas de las aplicaciones que declaran esos permisos y/o en la interacción con el usuario. No se realizan comprobaciones con el usuario mientras se ejecuta una aplicación; o bien se concede a la aplicación un permiso concreto cuando se instala, y puede utilizar esa función como desee, o bien no se concede el permiso y cualquier intento de utilizar la función falla sin preguntar al usuario.

Lea más aquí https://developer.Android.com/guide/topics/permissions/overview

0 votos

Entonces, para aclarar, ¿sólo obtiene los permisos que solicita específicamente en el manifiesto, que son los que aparecen en la información de permisos de la página de Play Store, y NO puede hacer cosas que requieran otros permisos, aunque estén en la misma categoría que los que solicita? El enlace que has proporcionado parece indicar eso, sólo quiero estar seguro. Es una pena que Google no sea más claro y directo con todo esto.

0 votos

Absolutamente. Una aplicación sólo utiliza los permisos proporcionados en el manifiesto y no cualquier otro.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X