Conexão Jsoup com Permissão no Manifest

4 respostas Resolvido
java
LeandroCGMS
Bom dia.

O seguinte código gera erro de conexão, mas a permissão de INTERNET está no manifesto.

O que pode estar faltando ou errado?

try {

Document melhorcambio = Jsoup.connect(“<a href="https://www.melhorcambio.com/dolar-">https://www.melhorcambio.com/dolar-</a>

hoje”).get();

Elements dolarEmReal = melhorcambio.select(“input#comercial”);
Document googleCambio = Jsoup.connect("https://www.google.com/search?q=d%C3%B3lar+turismo+hoje&ie=utf-8&oe=utf-8&client=firefox-b-ab").get();
        Elements tdGoogleCambios = googleCambio.select("tr.td");
        for(int i = 0; i < tdGoogleCambios.size(); i++) {

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
Erros:

W/System.err: android.os.NetworkOnMainThreadException

at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1450)

at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:102)

at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90)

W/System.err:     at java.net.InetAddress.getAllByName(InetAddress.java:787)

at com.android.okhttp.Dns$1.lookup(Dns.java:39)

at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175)

at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141)

at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83)

W/System.err:     at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174)

at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)

at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)

at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)

at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)

at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)

at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)

at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)

at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(Unknown Source:0)

W/System.err:     at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:746)

at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:722)

at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:306)

at org.jsoup.helper.HttpConnection.get(HttpConnection.java:295)

at utilitarios.leandro.com.br.utilitrios.ConversorMoedas.onCreate(ConversorMoedas.java:22)

at android.app.Activity.performCreate(Activity.java:7009)

at android.app.Activity.performCreate(Activity.java:7000)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)

W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)

at android.app.ActivityThread.-wrap11(Unknown Source:0)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)

at android.os.Handler.dispatchMessage(Handler.java:106)

at android.os.Looper.loop(Looper.java:164)

at android.app.ActivityThread.main(ActivityThread.java:6494)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

4 Respostas

darlan_machado

Se fosse erro de permissão, seria exibida mensagem referente a permissão.
O único trecho de stack é esse? Me parece estar faltando algumas coisas nesse log.

LeandroCGMS

Esse é todo o printStackTrace.
Pelo que estou pesquisando, é um problema com Async Task. Quem pode me dar maiores esclarecimento sobre?

LeandroCGMS

Fiz diferente, mas gera os mesmo erros, até achei que era só por causa de não ter criado classe Async Task, mas o problema continua:

LeandroCGMS
Solucao aceita

Bom dia.
Resolvido
Durante a noite, como sempre, aconteceu aquela magicazinha e voilá, com while(ConexaoThread.isAlive) e Thread, ao invés, de Async Task:


Criado 30 de julho de 2018
Ultima resposta 1 de ago. de 2018
Respostas 4
Participantes 2