studio permission permisos internet friendsonly example editar androidmanifest android android-studio permissions android-manifest google-console-developer

internet - Advertencias Su Apk está utilizando permisos que requieren una política de privacidad:(android.permission.READ_PHONE_STATE)



permisos bluetooth android studio (17)

  1. Probablemente estés usando PlayServices de la versión 9.6.0. Entonces deberías actualizarlo, es un error de la biblioteca. Más información here .

O

  1. Añadir

    <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

a su archivo de manifiesto.

En manifiesto no agregado android.permission.READ_PHONE_STATE. permiso.

¿Por qué aparece el error cuando subo el nuevo error de la versión apk?

Su aplicación tiene un apk con el código de versión 1 que solicita los siguientes permisos: android.permission.READ_PHONE_STATE. Se requiere que las aplicaciones que usan estos permisos en un APK tengan una política de privacidad establecida.

He adjuntado una captura de pantalla a mi cuenta de Google Play Store.

mi archivo de manifiesto

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my.package.name"> <uses-permission android:name="android.permission.INTERNET" /> <application android:name=".utils.PreferenceManager" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".SplashScreen" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity" android:screenOrientation="portrait" /> <activity android:name=".CategoryListActivity" android:screenOrientation="portrait" /> <activity android:name=".ImagesActivity" android:screenOrientation="portrait" /> </application> </manifest>


¿Está utilizando AdSense u otros anuncios en su aplicación, o tal vez Google Analytics? Creo que si lo hace, incluso si no tiene android.permission.READ_PHONE_STATE en su manifiesto, esto es agregado por la biblioteca de anuncios.

Existen plantillas gratuitas que pueden ayudarlo a crear una política de privacidad.

Este es el correo electrónico que recibí de Google al respecto:

Hola, desarrollador de Google Play: nuestros registros muestran que su aplicación, xxx, con el nombre del paquete xxx, actualmente infringe nuestra política de datos del usuario con respecto a la información personal y confidencial. Problema de política: Google Play requiere que los desarrolladores proporcionen una política de privacidad válida cuando la aplicación solicita o maneja información confidencial del usuario o dispositivo. Su aplicación solicita permisos confidenciales (por ejemplo, cámara, micrófono, cuentas, contactos o teléfono) o datos de usuario, pero no incluye una política de privacidad válida. Acción requerida: incluya un enlace a una política de privacidad válida en la página de listado de tiendas de su aplicación y dentro de su aplicación. Puede encontrar más información en nuestro centro de ayuda. Alternativamente, puede optar por no participar en este requisito eliminando cualquier solicitud de permisos confidenciales o datos de usuario. Si tiene aplicaciones adicionales en su catálogo, asegúrese de que cumplan con nuestros requisitos de divulgación prominente. Resuelva este problema antes del 15 de marzo de 2017, o se tomarán medidas administrativas para limitar la visibilidad de su aplicación, incluida la eliminación de Play Store. Gracias por ayudarnos a proporcionar una experiencia clara y transparente para los usuarios de Google Play. Saludos, El equipo de Google Play


1.Debe crear una página de política de privacidad en su sitio web y actualizar su política de privacidad para los permisos que solicita.

2. Actualice el nuevo SDK, elimine los permisos no deseados y vuelva a enviar la aplicación.


Actualmente, algunas personas enfrentan el mismo problema debido al uso de la versión 12.0.0 de AdMob lib.

12.0.1 a 12.0.1 . Esto debería arreglarlo. Puedes leer más here


Debe soltar el permiso android.permission.READ_PHONE_STATE . Agregue esto a su archivo de manifiesto:

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />


El archivo manifest.xml de su aplicación tiene estos permisos para acceder a la información desde su dispositivo, pero no tiene un enlace de política de privacidad mientras lo envía a Play Store. así que recibes esta advertencia.

Necesita una política de privacidad para la aplicación Si su aplicación maneja datos personales o confidenciales

Agregar una política de privacidad a la lista de tiendas de su aplicación ayuda a proporcionar transparencia sobre cómo trata los datos confidenciales de usuarios y dispositivos.



Es una biblioteca de terceros. Puede encontrar al culpable en build/outputs/logs/manifest-merger-release-report.txt


Estaba enfrentando el mismo problema y recibí el error al subir apk a Google Play. Usé anuncios en mi aplicación, y ni siquiera me mencionaron el permiso READ_PHONE_STATE en mi archivo de manifiesto. pero aún así recibí este error. Luego cambio las dependencias de los anuncios en el archivo build.gradle. y luego resolvió mi problema. Resolvieron este problema en 12.0.1.

compile ''com.google.android.gms:play-services-ads:12.0.1''


Las dependencias que tenga en su proyecto agregarán sus propios permisos. Haga lo siguiente para encontrar de dónde viene "READ_PHONE_STATE".

  1. Reconstruye tu aplicación de Android
  2. Presiona "Ctrl + Shift + F" en el estudio de Android (básicamente haz una búsqueda en el editor de tu preferencia).
  3. Busque "READ_PHONE_STATE", encontrará la entrada en un archivo de manifiesto regenerado (no el que creó originalmente). Por el camino que puede saber, desde qué dependencia se agrega el permiso.

Puede deberse a cualquier lib de terceros que puede incluir ese permiso, por lo que, según mi experiencia en este campo, debe agregar la política de privacidad con respecto a esa información en particular, lo que significa que si solicita obtener permiso de cuentas en su aplicación, debe declarar que con su archivo de política de privacidad usamos esos datos, es decir, la dirección de correo electrónico o lo que sea con motivos como iniciar sesión en el juego de Google Play.

También puede hacer esto

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

Espero que esto lo guíe Lo que puede hacer para esta advertencia cree una política de privacidad para su aplicación y adjúntela a la lista de la tienda .


Si está probando su aplicación en un dispositivo> android 6.0, también debe solicitar explícitamente al usuario que otorgue el permiso.

Como puede ver here READ_PHONE_STATE tiene un nivel peligroso.

Si un permiso tiene un nivel peligroso, el usuario debe aceptar o no este permiso manualmente. No tienes la opción, DEBES hacer esto

Para hacer esto desde su actividad, ejecute el siguiente código:

si el usuario usa Android M y aún no otorgó el permiso, lo solicitará.

public static final int READ_PHONE_STATE_PERMISSION = 100; if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_PERMISSION); }

luego anule onRequestPermissionsResult en su actividad

@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode){ case READ_PHONE_STATE_PERMISSION: { if (grantResults[0] == PackageManager.PERMISSION_GRANTED){ //Permission granted do what you want from this point }else { //Permission denied, manage this usecase } } } }

Deberías leer este artículo para saber más al respecto.



Simplemente intente agregar esta línea a su archivo de manifiesto:

<uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" />

y agregue el atributo xmlns:tools="http://schemas.android.com/tools" a su etiqueta <manifest> para definir herramientas de espacio de nombres

De la documentation para tools:node="remove" :

Elimine este elemento del manifiesto combinado. Aunque parece que debería eliminar este elemento, usarlo es necesario cuando descubre un elemento en su manifiesto combinado que no necesita, y fue proporcionado por un archivo de manifiesto de menor prioridad que está fuera de su control (como como una biblioteca importada).


Ver paso a paso y entenderás

public static String getVideoTitle(String youtubeVideoUrl) { Log.e(youtubeVideoUrl.toString() + " In GetVideoTitle Menu".toString() ,"hiii" ); try { if (youtubeVideoUrl != null) { URL embededURL = new URL("https://www.youtube.com/oembed?url=" + youtubeVideoUrl + "&format=json" ); Log.e(youtubeVideoUrl.toString() + " In EmbedJson Try Function ".toString() ,"hiii" ); Log.e(embededURL.toString() + " In EmbedJson Retrn value ".toString() ,"hiii" ); Log.e(new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString() + " In EmbedJson Retrn value ".toString() ,"hiii" ); return new JSONObject(IOUtils.toString(embededURL)).getString("provider_name").toString(); } } catch (Exception e) { Log.e(" In catch Function ".toString() ,"hiii" ); e.printStackTrace(); } return null; }


debe especificar la versión target sdk min y de target sdk en el archivo de manifiesto.
Si no, el android.permission.READ_PHONE_STATE se agregará automáticamente al exportar su archivo apk.

<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19" />


Actualización 2018:

Para los usuarios de AdMob, esto provoca la versión 12.0.0 de AdMob (actualmente la última versión). Solicita incorrectamente el permiso READ_PHONE_STATE, por lo que incluso si su aplicación no requiere el permiso READ_PHONE_STATE en manifiesto, no podrá actualizar su aplicación en Google Play Console (le indicará que cree una página de política de privacidad para su aplicación, porque tu aplicación requiere este permiso).

Vea esto: https://developers.google.com/android/guides/releases#march_20_2018_-_version_1200

Además, escribieron que publicarán una actualización a 12.0.1 que lo arreglará pronto.