varios tiempo studio requestpermissions permission permisos pedir onrequestpermissionsresult multiples example ejecucion android android-permissions

android - tiempo - ¿Por qué se ha agregado el permiso READ_PHONE_STATE?



request permission android studio (6)

En la última versión beta que acabo de publicar en Play Store, READ_PHONE_STATE se ha agregado READ_PHONE_STATE desde la versión anterior.

No he añadido esto yo mismo. Todo lo que puedo recordar haber hecho es que la versión anterior usa v9.6.0 de varias bibliotecas de servicios de juego (era v9.4.0):

compile ''com.google.android.gms:play-services-location:9.6.0'' compile ''com.google.android.gms:play-services-places:9.6.0'' compile ''com.google.android.gms:play-services-auth:9.6.0''

¿Lo habría hecho esto? No puedo verlo documentado. ¿Puedo deshacerme del permiso?

Y me he asegurado de que todas las bibliotecas que estoy usando coincidan con la aplicación principal, según esta respuesta ... no hace ninguna diferencia en mi caso.

EDITAR

OK basado en este artículo , he profundizado en mi salida de registro para encontrar:

ADDED from [Meteogram:jobdispatcher:unspecified] C:/Users/Me/AndroidStudioProjects/Meteogram/app/build/intermediates/exploded-aar/Meteogram/jobdispatcher/unspecified/AndroidManifest.xml:37:25-84 android:uses-permission#android.permission.READ_PHONE_STATE

Pero nada ha cambiado en la biblioteca de jobdispatcher (que importé en mi proyecto como un módulo de gradle) desde la última versión.

EDIT2

Aquí hay un poco más de ese registro, y mi sensación es que tal vez se deba a la versión de la biblioteca de servicios de juego como se sospecha.

ADDED from [Meteogram:jobdispatcher:unspecified] C:/Users/Me/AndroidStudioProjects/Meteogram/app/build/intermediates/exploded-aar/Meteogram/jobdispatcher/unspecified/AndroidManifest.xml:37:17-87 android:name ADDED from [Meteogram:jobdispatcher:unspecified] C:/Users/Me/AndroidStudioProjects/Meteogram/app/build/intermediates/exploded-aar/Meteogram/jobdispatcher/unspecified/AndroidManifest.xml:37:25-84 android:uses-permission#android.permission.READ_PHONE_STATE IMPLIED from C:/Users/Me/AndroidStudioProjects/Meteogram/app/src/pro/AndroidManifest.xml:2:1-12:12 reason: com.google.android.gmscore.integ.client.location has a targetSdkVersion < 4 activity#com.google.android.gms.common.api.GoogleApiActivity

El targetSdkVersion < 4 coincide con la otra respuesta vinculada anteriormente, pero ¿hay algo que pueda hacer en esta situación, ya que la biblioteca de play-services no es mía?

EDITAR3

Encontré una respuesta ... en lugar de eliminar esta pregunta, la dejo con una solución, en caso de que sea útil para otros (¡y en caso de que alguien más tenga una solución mejor!)

EDITAR 4

Parece que se ha corregido en 9.6.1 .


Ante el mismo problema. Acabo de comprobar que Google lanza nueva versión. Actualización a 12.0.1 o a la última versión. Este problema se habrá ido.


Este problema también está presente en Play Services v 12.0.0. Hay un rastreador de problemas abierto aquí . Parece que el problema está presente para ambos permisos:

  • android.permission.READ_PHONE_STATE
  • android.permission.WRITE_EXTERNAL_STORAGE

Probablemente se solucionará con 12.0.1 como vimos con la corrección 10.0.1 (de la pregunta original).

Hasta entonces, recomiendo eliminar el permiso manualmente del manifiesto como se indica en la respuesta por drmrbrewer.

Actualizar
12.0.1 se publicó el 28 de marzo de 2018, donde se abordó este problema. Vea las notas de publicación aquí .

Agrega minSdkVersion faltante en los artefactos de la licencia para evitar la inclusión automática de los permisos READ_PHONE_STATE y READ_EXTERNAL_STORAGE.


Eventualmente encontré this , que reporta el mismo problema. Una solución se menciona en la Respuesta # 3 , que consiste en eliminar el permiso "manualmente" (mi suposición es que el permiso solo es necesario para las versiones muy minSdk Android, lo cual está bien para mí porque mi minSdk es 16):

<manifest ... xmlns:tools="http://schemas.android.com/tools" ... > <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />


Para aquellos que buscan el problema relacionado con la versión 12.0.0 de Firebase, simplemente actualice a la versión 12.0.1. Fue un error en el paquete de 12.0.0 y se resolvió en 12.0.1.

Consulte las notas de la versión: https://developers.google.com/android/guides/releases


Si no tienes experiencia con Android (¡como yo!) Y no estabas seguro de dónde debería ir el fragmento de código de drmrbrewer, la respuesta está en tu archivo principal de app/manifests/AndroidManifest.xml , como este:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.your.package"> ... <!-- attempt to combat this issue: https://.com/questions/39668549/why-has-the-read-phone-state-permission-been-added --> <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" /> </manifest>


Actualización # 2 : La versión 10.0.1 soluciona el problema nuevamente.

Actualización : esto también ocurre en la versión 10.0.0 de los servicios de Google Play, como se informa en esta publicación .

Respuesta anterior:

Por esta publicación en la Comunidad de desarrolladores de Android G + , uno de los moderadores (yo) publicó este comentario:

Ya informé de este problema internamente ayer cuando un desarrollador lo señaló, la solución ya se ha hecho internamente y pronto habrá un SDK actualizado.

Y el SDK actualizado ya está disponible: use la dependencia de los servicios de Google Play 9.6.1.