Permisos en Android Marshmallow

Started by DervishD, February 07, 2016, 03:13:17 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DervishD

Hola :)



Abro este hilo para ir añadiendo aquí poco a poco las pruebas que voy a hacer quitando permisos concretos a Oruxmaps en Android Marshmallow.



Primero, voy a listar los permisos que se pueden quitar de forma selectiva, y en mensajes posteriores, según pueda ir probando cosas, añadiré más información.



Las pruebas las haré en un BQ Aquaris A4.5, un dispositivo AndroidOne, con Android 6.0.0 y Stock ROM.



De entrada, Android me advierte al intentar quitar permisos, que la aplicación está diseñada para una versión anterior de Android y que por tanto puede que no funcione bien. En Android 6 las aplicaciones no piden los permisos al instalarse, como antes, sino que la primera vez que se ejecutan te van pidiendo los permisos uno a uno, de forma más explícita que en versiones anteriores, supongo que a eso se refiere el Sistema Operativo cuando muestra esa advertencia.



  • Contacts
    • Location
    • Phone
    • SMS
    • Storage


    No sé con detalle para qué usa Oruxmaps cada permiso, así que iré quitando uno por uno y probando la aplicación.



    El primero que he quitado es "Contacts" y eso ha hecho que la pantalla de registro de cuenta de Oruxmaps ("Gestionar mi cuenta") no funcione adecuadamente, ya que no es capaz de leer el email del usuario y colocarlo en la casilla correspondiente. El error, que apenas se ve porque desaparece con mucha rapidez, es "Cuentas no encontradas".



    No he notado ningún otro problema, así que seguiré probando un tiempo sin este permiso a ver si todo lo demás funciona. Jose, si quieres que pruebe algo concreto con este permiso quitado me lo dices y lo pruebo.



    Seguiremos informando  ;)

  • DervishD

    #1
    Sigo con los permisos.



    Continuando con el permiso Contacts, impide también que en el Multitracking se puedan añadir contactos desde la aplicación "Contacts". Hasta aquí bien. El problema es que incluso sin ese permiso sí que puede abrir la aplicación "Contacts", lo que no hace es recuperar los datos del contacto elegido.



    Creo que sería buena idea deshabilitar el menú Multitracking por completo si se quita el permiso Contacts.



    De momento, ningún problema más.



    He deshabilitado también el permiso SMS, que me imagino que se usa sólo para el "SOS mensaje". Con él deshabilitado me permite enviar el SMS, parece que tiene éxito, pero no lo envía. Creo que Oruxmaps debería avisar de esta situación, porque ahora mismo simplemente falla sin decir nada.



    Por último, he deshabilitado el permiso Phone, pero como sé para qué se puede usar en Oruxmaps, no sé qué se pierde sin él. He rebuscado un poco por los menús y no he encontrado nada.



    En el próximo ensayo quitaré el permiso Location, y espero que falle la activación del GPS, el tracking y por supuesto el registro de rutas. Seguidamente quitaré el permiso Storage que debería hacer fallar el guardado de rutas y me imagino que alguna cosa más.



    Seguiremos informando  ;)

    orux

    #2
    Quote from: "DervishD"Sigo con los permisos.



    Continuando con el permiso Contacts, impide también que en el Multitracking se puedan añadir contactos desde la aplicación "Contacts". Hasta aquí bien. El problema es que incluso sin ese permiso sí que puede abrir la aplicación "Contacts", lo que no hace es recuperar los datos del contacto elegido.



    Creo que sería buena idea deshabilitar el menú Multitracking por completo si se quita el permiso Contacts.



    De momento, ningún problema más.



    He deshabilitado también el permiso SMS, que me imagino que se usa sólo para el "SOS mensaje". Con él deshabilitado me permite enviar el SMS, parece que tiene éxito, pero no lo envía. Creo que Oruxmaps debería avisar de esta situación, porque ahora mismo simplemente falla sin decir nada.



    Por último, he deshabilitado el permiso Phone, pero como sé para qué se puede usar en Oruxmaps, no sé qué se pierde sin él. He rebuscado un poco por los menús y no he encontrado nada.



    En el próximo ensayo quitaré el permiso Location, y espero que falle la activación del GPS, el tracking y por supuesto el registro de rutas. Seguidamente quitaré el permiso Storage que debería hacer fallar el guardado de rutas y me imagino que alguna cosa más.



    Seguiremos informando  ;)




    Gracias;





    Aparentemente la aplicación no se entera de que no tiene esos permisos, lo que hace android es devolver resultados vacíos.



    Multitracking sí se puede seguir usando, porque se pueden meter a mano los nombres/emails de los amigos,







    orux

    DervishD

    #3
    Quote from: "orux"
    Aparentemente la aplicación no se entera de que no tiene esos permisos, lo que hace android es devolver resultados vacíos.


    Android no deja de sorprenderme desagradablemente... Me imagino que en el API 23 habrán metido algún modo diferente de tratar los permisos, ya sabes, estas apps que están etiquetadas como "aptas para Marshmallow" o algo así.



    Una cosa más: ¿para qué usa Oruxmaps el permiso "Phone"? Es para probarlo en condiciones y decirte lo que pasa.

    DervishD

    #4
    Como prometí, aquí va el final de la historia de los permisos en Marshmallow.



    He quitado el permiso "Location" y como era de esperar el GPS no encuentra la ubicación actual pero no da ningun error. Simplemente no encuentra la ubicación actual pero no sabe que no puede usar el GPS. Esto era de esperar, por la forma que tiene Marshmallow de informar sobre los permisos, como comentaba orux.



    Después he quitado el permiso "Storage", que es el que quedaba, y la aplicación da un mensaje de error al arrancar "Hubo problemas leyendo varios mapas", porque estoy usando un mapa offline que tengo en el móvil y ahora obviamente no puede leerlo.



    Tampoco puede iniciar la grabación de un track (no da mensaje de error) y no funciona "Abrir mapa", sale un "toast" con el mensaje "Cargando". Esto sí me parece un problema: aunque no tenga permisos de Storage, debería poder permitir abrir un mapa online. El problema está, obviamente, en que no puede cargar el xml que define esos mapas offline. Quizá los mapas online incluidos con Oruxmaps deberían poder ser accedidos mediante alguna definición interna del programa, sin tener que leer ficheros externos, aunque bien pensado Oruxmaps necesita poder leer ciertas cosas del almacenamiento al arranque y sin este permiso no podrá, lo suyo sería dar un error y negarse a arrancar o algo así, no sé.



    En fin, hasta aquí la información, Jose. Si necesitas que te pruebe algo en particular dímelo y te lo pruebo, sin problema. No te prometo velocidad en la respuesta pero sí intentaré hacerlo lo más rápido posible.