2016-11-21 5 views
1

안드로이드 앱에 이상한 문제가 있습니다. AsyncTaskLoader를 설정하여 API에서 데이터를 가져와 내 앱으로 가져오고 데이터를 파싱하여 표시합니다. 앱이 3g 모드에서 실행 중일 때 작동합니다. 그러나 WLAN으로 전환해도 동일하게 작동하지 않습니다. 경우에 따라 연결하는 데 오랜 시간이 걸립니다 (약 5 분, 긴 시간 임). 나는 그 코드를 다음 코드로 좁혔다.안드로이드 HttpURLConnection은 wlan이 아닌 3g에서만 작동합니다.

URL url = new URL("http://example_site.com"); 
urlConnection = (HttpURLConnection) url.openConnection(); 
urlConnection.setRequestMethod("GET"); 
Log.d("Connection", "Set Up Complete"); 
urlConnection.connect(); //This is the portion that I have narrowd down to. 
Log.d("Connection", "connected"); 
InputStream inputStream = urlConnection.getInputStream(); 
StringBuffer buffer = new StringBuffer(); 

이 특정 문제의 원인은 무엇이며 어떻게 해결할 수 있습니까? 내 최소 SDK 버전은 15이고 목표는 24입니다.

편집 : - 여기에 나와있는 권한이 있습니다.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="example.com.testapp"> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
.. 

</manifest> 
+0

쇼 매니페스트 권한의 OKHttp 라이브러리를 사용하려고 할 수 있습니까? –

+0

예. 나는 그들을 여기에 넣을 것이다. –

+0

매니페스트에 사용 권한을 추가 했습니까 – SaravInfern

답변

0

은 와이파이 접속에 문제가 발생할 수 있지만 전반적인 대신 여기 HTTPUrlConnection