안드로이드에서 https 접근과 달리 http URL의 접근은 기본적으로 허용하지 않는 형태이므로,
만약 https를 사용할 수 없는 조건에서 http URL에 접근하려고 한다면 usesCleartextTraffic 속성 정의가 필요하다.
이러한 예외처리 없이 http URL에 접근하려고 한다면
Cleartext HTTP traffic to www.XXX.com not permitted 등의 에러가 발생할 수 있다.
usesCleartextTraffic : 해당 속성을 true로 설정하면 모든 http 주소에 접근할 수 있다
<application
android:name="MyApplication"
android:usesCleartextTraffic="true">
</application>
일부 http URL에만 접근을 허용하고 싶다면,
/res/xml/network_security_config.xml 파일을 생성하여 예외처리를 해주어야 한다
*모든 http URL에 대하여 접근 허용
(태그 안에 URL을 작성하여 특정 http에만 접근을 허용할 수 있음)
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
*domain-config 태그에 포함된 http URL에 대하여 접근 제한
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">secure.me.com</domain>
</domain-config>
</network-security-config>
-> 파일을 작성했다면 AndroidManifest 파일의 application 태그 내부에
android:networkSecurityConfig 속성을 주어 config파일을 지정해주면 된다.
<application
android:name="MyApplication"
android:networkSecurityConfig="@xml/network_security_config">
</application>
'JAVA > Android' 카테고리의 다른 글
[JAVA][Android] SharedPreferences를 이용하여 XML파일 작성,읽기,수정(삭제) (0) | 2023.01.26 |
---|---|
[JAVA][Android] 화면 구성 변경에 따른 객체 처리 (ConfigurationChanged) (0) | 2023.01.05 |
[JAVA][Android] KillProcess로 인한 앱 충돌 / 비정상 종료 (0) | 2022.09.14 |
[JAVA][Android] 스택에 2개 이상의 앱이 쌓여 발생한 이슈와 대안, 스택 내용 확인하는 ADB 명령어 (0) | 2022.09.01 |
[JAVA][Android] 화면 변경을 감지하는 ViewTreeObserver (0) | 2022.08.31 |