J'utilise cette méthode pour accéder à Internet à partir de mon émulateur Android Emulator -http-proxy <<proxy-name>> -avd <<avd_name>>
Cela fonctionne, mais est-ce la meilleure façon de le faire?.
Impossible de trouver une option Internet sur le "Gestionnaire AVD" non plus.
Vous pouvez également essayer de spécifier explicitement les paramètres du serveur DNS, cela a fonctionné pour moi.
Dans Eclipse:
Fenêtre> Préférences> Android> Lancer
Options d'émulateur par défaut: -dns-server 8.8.8.8.8.8.4.4
Par défaut, vous devriez pouvoir basculer l'accès Internet à votre émulateur avec F8 (sous Windows) et Fn + F8 (sous Mac OS X). Je pense que F8 fonctionne également pour Linux, mais je ne suis pas sûr à 100%.
Avec ce raccourci, vous obtenez le ACTION_BACKGROUND_DATA_SETTING_CHANGED dispatch.
J'espère que cela pourra aider.
pour les enregistrements puisqu'il s'agit d'un ancien message et puisque personne ne l'a mentionné, vérifiez si vous avez oublié (comme je l'ai fait) de définir l'indicateur Android.permission.INTERNET dans AndroidManifest.xml comme suit:
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.google.Android.webviewdemo">
<uses-permission Android:name="Android.permission.INTERNET"/>
<application Android:icon="@drawable/icon">
<activity Android:name=".WebViewDemo" Android:label="@string/app_name">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
-http-proxy peut être défini dans Eclipse de la manière suivante:
Ajoutez la prise en charge du modem GSM lors de la création d’AVD sur vos appareils virtuels à partir du SDK Android et du gestionnaire AVD ...
C'est le réglage du DNS qui a fait l'affaire pour moi. Si vous utilisez les plug-ins Eclipse ou Netbeans, vous pouvez le définir via les options de l'émulateur par défaut ou les options de l'émulateur, respectivement. Vous pouvez également utiliser le définir à partir de la ligne de commande si vous démarrez votre émulateur à partir de la CLI. Dans tous les cas, l'option est "-dns-server x.x.x.x, x.x.x.x" sans les guillemets. L’interface utilisateur d’ADB ne permet pas d’associer de manière permanente l’option à votre périphérique virtuel.
Salut moi aussi fait face au même problème, résolu en utilisant les étapes ci-dessous:
Ajouter une autorisation Internet dans votre application Android
Vérifiez manuellement que votre application par défaut est capable d’accéder à Internet ou non. Si ce n’est pas son problème de votre émulateur, vérifiez votre connexion Internet dans votre ordinateur.
essayez la méthode ci-dessous pour connecter le net à votre pc
essayez de spécifier explicitement les paramètres du serveur DNS, cela a fonctionné pour moi.
Dans Eclipse:
Fenêtre> Préférences> Android> Lancer
Options d'émulateur par défaut: -dns-server 8.8.8.8.8.8.4.4 **
check: vérifie si vous utilisez plus d’une connexion Internet avec votre ordinateur, par exemple une connexion LAN, une autre connexion est Modem,
supprimer celui existant et recréer l'émulateur . La machine (Windows/Mac) doit avoir un accès Internet, et l'émulateur Android obtient l'accès Internet par défaut.
Si quelqu'un a une autorisation Internet dans AndroidManifest et a encore un problème de connexion Internet, cela sera peut-être utile: Android - Résolution du problème de non connexion Internet sur l'émulateur.
J'ai suivi les étapes de ce site, et tout fonctionne pour moi ... Le plus important:
C’est mon premier post, alors j’espère que cela vous sera utile.
Sur une note légèrement différente, je devais créer un périphérique virtuel sans prise en charge du modem GSM pour que l’internet fonctionne sur mon émulateur.
J'ai vu diverses suggestions sur la manière dont le code peut déterminer s'il fonctionne sur l'émulateur, mais aucun n'est tout à fait satisfaisant ni "à l'épreuve du temps". Pour le moment, j'ai décidé de lire l'ID de l'appareil, composé uniquement de zéros pour l'émulateur:
TelephonyManager telmgr = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE); Boolean isEmulator = "000000000000000" .equals (telmgr.getDeviceId ());
Mais sur une application déployée nécessitant l'autorisation READ_PHONE_STATE