Android: UnknownHostException

Ik gebruik Android SDK 2.2 en test mijn applicatie met de emulator. Ik wil een HTTP-bericht verzenden. Als ik dat doe, krijg ik een UnknownHostException. Ik heb de vereiste rechten geplaatst
<uses-permission android:name="android.permission.INTERNET" />

in de manifest.xml. Ik kan ook de browser op de emulator openen en zonder problemen naar de URL navigeren.

Hier is mijn code:

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost( uri );
HttpResponse response = null;
try
{
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
2 );
nameValuePairs.add( new BasicNameValuePair( "id", "edit-name" ) );
nameValuePairs
.add( new BasicNameValuePair( "stringdata", userName ) );
httppost.setEntity( new UrlEncodedFormEntity( nameValuePairs ) );
// Execute HTTP Post Request
response = httpclient.execute( httppost );
// Log.i( "HttpManager:", "======> response: "
// + response.getEntity().getContent() );
}
catch (ClientProtocolException e)
{
Log.e( "HttpManager", "ClientProtocolException thrown" + e );
}
catch (IOException e)
{
Log.e( "HttpManager", "IOException thrown" + e );
}

Antwoord 1, autoriteit 100%

De INTERNET-toestemmingstag is een onderliggend item van de manifest-tag, niet de applicatie-tag.


Antwoord 2, autoriteit 44%

Ter overweging van anderen, ik kwam dit probleem tegen en een Google-site bracht me op de proppen. Zoals vermeld door Anisbet, heb ik mijn toestemmingstag dubbel gecontroleerd en deze stond op de juiste plek.

Uiteindelijk startte ik de ingebouwde Android-browser en kreeg hetzelfde antwoord van zowel mijn webserver als Google.com (terwijl de computer zelf in orde was). Ik heb de Android-emulator beëindigd en opnieuw opgestart; werkte bij de eerste poging.

Na het bekijken van uw code, kan het de moeite waard zijn om de emulator opnieuw te starten. In alle eerlijkheid tegenover de emulator, crashte een aantal programma’s kort nadat ik dit had gedaan, dus misschien was er iets anders aan de hand op mijn computer. Toch verspilde dit een hoop tijd voor mij, dus misschien zal dit iemand de hoofdpijn besparen die ik heb gehad.


Antwoord 3, autoriteit 29%

Zorg ervoor dat je een internetverbinding hebt. Dat is wat er met me gebeurde toen ik vergat dat ik aan het testen ben met een mobiele telefoon zonder internetverbinding.


Antwoord 4, autoriteit 15%

Weet je wat het voor mij oploste, was de toestemming net voor de afsluitende manifest-tag te plaatsen, zoals:

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

Antwoord 5, autoriteit 8%

Het gebeurt soms wanneer u een app in de emulator uitvoert. Herstart gewoon de emulator om het probleem op te lossen. Het werkte voor mij!


Antwoord 6, autoriteit 4%

Als geen van bovenstaande werkt, probeer dan een stap terug te doen en ervoor te zorgen dat uw apparaat of emulator daadwerkelijk internet kan bereiken door een browser te openen.


Antwoord 7, autoriteit 2%

Ik kwam een ​​soortgelijk probleem tegen bij het testen van een app met een minSdkVersion ingesteld op 4 en ik probeerde het uit te voeren op een G1. Het veranderen naar 3 loste het probleem voor mij op.


Antwoord 8, autoriteit 2%

Ik kwam hetzelfde probleem tegen. Ik heb de juiste machtigingen in mijn Android Manifest-bestand en de URL is ook correct. Ik krijg het antwoord in de webbrowser. Ik herstartte de IDE, Emulator, maar loste het probleem niet op. Dus ik verwijderde de AVD met behulp van AVD manager en startte toen de emulator en het begon te werken.


Antwoord 9, autoriteit 2%

Een laatste controle zou zijn dat uw domeinnaam een ​​geldig domein is. Het hebben van een onderstrepingsteken in een domein is ongeldig en veroorzaakt een onbekende hostuitzondering.


Antwoord 10

Nog iets anders: het bleek dat het internet zelf niet werkte voor mij. Het starten van de emulator vanaf de opdrachtregel met deze schakelaars loste het voor mij op: emulator -avd your_avd_name -dns-server 8.8.8.8


Antwoord 11

Ik heb deze fout gezien bij verbinding met wifi. Zodra ik wifi uitschakelde, werkte het. UnknownHostExceptionkan heel goed worden veroorzaakt door deze Android-bug:

http://code.google.com/p/android/ issues/detail?id=67324


Antwoord 12

Controleer dit ook als u Emulator niet gebruikt

Ik heb vandaag hetzelfde probleem, ik gebruik Emulator niet maar heb USB-foutopsporing op mobiel ingeschakeld om te testen.

Ik heb de gegevens op mijn mobiel niet ingeschakeld, dus ik kreeg UnknownHostException, toen ik het eenmaal inschakelde, werd het opgelost.


Antwoord 13

Als u een VPN opent, kan “Onbekende hostuitzondering” het resultaat zijn


Antwoord 14

Ik kwam hetzelfde probleem tegen bij het gebruik van de emulator, omdat ik wifi op mijn laptop had gewijzigd, dus het herstarten van de wifi van de emulator loste mijn probleem op.

Other episodes