Problema de permisos de red de Android P
android: usesCleartextTraffic Indica si la aplicación pretende utilizar tráfico de red de texto sin cifrar, como HTTP de texto sin cifrar. El valor predeterminado para aplicaciones orientadas al nivel API 27(N) o inferior es "verdadero". El valor predeterminado es "falso" para aplicaciones orientadas al nivel API 28(P) o superior.
Cuando la propiedad se establece en "false", los componentes de la plataforma (por ejemplo, pilas HTTP y FTP, DownloadManager y MediaPlayer) rechazarán las solicitudes de aplicaciones que utilicen tráfico de texto sin cifrar. Se recomienda encarecidamente que las bibliotecas de terceros también adopten esta configuración. Las principales razones para evitar las comunicaciones de texto claro son la falta de confidencialidad, autenticidad y protección contra manipulaciones. Los ciberatacantes pueden espiar los datos transmitidos y también modificarlos sin ser detectados.
Por lo tanto, después de Android P, las aplicaciones tendrán prohibido utilizar todos los enlaces no cifrados. Por lo tanto, ya sea que los dispositivos Android que ejecutan el sistema Android P reciban o envíen tráfico, no podrán utilizar una transmisión clara en el futuro. Es necesario utilizar la próxima generación (Transport Layer Security), mientras que Android N y O no se ven afectados.
Ejemplo:
Usar HttpUrlConnection para comunicación en Android P ** no permitido por la política de seguridad de red
En dispositivos con sistema Android P, si la aplicación usa es tráfico de texto sin cifrar work_security_config.xml
lt;?xml version="1.0" encoding="utf-8"?gt;
lt;network-security-configgt
lt; base-config cleartextTrafficPermitted="false"/gt;
lt;/network-security-configgt;
En AndroidManifest.xml, aplicación Agregada bajo el nodo :
android: networkSecurityConfig="@xml/network_security_config"
5. Cree un nuevo archivo res/xml/network_security_config.xml y establezca la configuración de seguridad de red
Este método es similar al anterior, excepto que el método 4 establece la configuración de seguridad de trabajo de todos los nombres de dominio
lt; ;dominio includeSubdomains="true"gt;(Su URL)xxx.x.xxx.xxlt;/domaingt;
lt;dominio includeSubdomains="true"gt;x.xxx.xxlt ;/domainingt;
lt;/domain-configgt;
lt;/network-security-configgt;