web-dev-qa-db-ja.com

java.net.UnknownHostExceptionホスト "accounts.google.com"を解決できません:bigqueryに行を挿入しているときにホスト名に関連付けられたアドレスがありません

こんにちは私はBigQueryを統合したAndroidアプリに取り組んでいます。BigQueryテーブルにレコードを挿入しているときに、多くの例外が発生することがあります。これに関する専門知識はありませんが、学び始めました。この新しいテクノロジー。皆さんがこれについて私を助けてくれるといいですね。

   Java.net.UnknownHostException: Unable to resolve Host "accounts.google.com": No address associated with hostname
          at Java.net.InetAddress.lookupHostByName(InetAddress.Java:424)
          at Java.net.InetAddress.getAllByNameImpl(InetAddress.Java:236)
          at Java.net.InetAddress.getAllByName(InetAddress.Java:214)
          at com.Android.okhttp.internal.Dns$1.getAllByName(Dns.Java:28)
          at com.Android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.Java:216)
          at com.Android.okhttp.internal.http.RouteSelector.next(RouteSelector.Java:122)
          at com.Android.okhttp.internal.http.HttpEngine.connect(HttpEngine.Java:292)
          at com.Android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.Java:255)
          at com.Android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.Java:206)
          at com.Android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.Java:345)
          at com.Android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.Java:89)
          at com.Android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.Java:197)
          at com.Android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.Java:254)
          at com.google.a.a.c.a.c.a(NetHttpRequest.Java:77)
          at com.google.a.a.c.r.p(HttpRequest.Java:972)
          at com.google.a.a.a.a.h.a(TokenRequest.Java:307)
          at com.google.a.a.b.a.a.b.f(GoogleCredential.Java:384)
          at com.google.a.a.a.a.c.h(Credential.Java:489)
          at com.google.a.a.a.a.c.a(Credential.Java:217)
          at com.google.a.a.c.r.p(HttpRequest.Java:859)
          at com.google.a.a.b.d.c.c(AbstractGoogleClientRequest.Java:469)
          at com.test.utils.c.c(CommonUtility.Java:2730)
          at com.test.services.AppInstallIntentService.onHandleIntent(AppInstallIntentService.Java:71)
          at Android.app.IntentService$ServiceHandler.handleMessage(IntentService.Java:65)
          at Android.os.Handler.dispatchMessage(Handler.Java:102)
          at Android.os.Looper.loop(Looper.Java:136)
          at Android.os.HandlerThread.run(HandlerThread.Java:61)
   Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
          at libcore.io.Posix.getaddrinfo(Posix.Java)
          at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.Java:61)
          at Java.net.InetAddress.lookupHostByName(InetAddress.Java:405)
          at Java.net.InetAddress.getAllByNameImpl(InetAddress.Java:236)
          at Java.net.InetAddress.getAllByName(InetAddress.Java:214)
          at com.Android.okhttp.internal.Dns$1.getAllByName(Dns.Java:28)
          at com.Android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.Java:216)
          at com.Android.okhttp.internal.http.RouteSelector.next(RouteSelector.Java:122)
          at com.Android.okhttp.internal.http.HttpEngine.connect(HttpEngine.Java:292)
          at com.Android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.Java:255)
          at com.Android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.Java:206)
          at com.Android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.Java:345)
          at com.Android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.Java:89)
          at com.Android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.Java:197)
          at com.Android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.Java:254)
          at com.google.a.a.c.a.c.a(NetHttpRequest.Java:77)
          at com.google.a.a.c.r.p(HttpRequest.Java:972)
          at com.google.a.a.a.a.h.a(TokenRequest.Java:307)
          at com.google.a.a.b.a.a.b.f(GoogleCredential.Java:384)
          at com.google.a.a.a.a.c.h(Credential.Java:489)
          at com.google.a.a.a.a.c.a(Credential.Java:217)
          at com.google.a.a.c.r.p(HttpRequest.Java:859)
          at com.google.a.a.b.d.c.c(AbstractGoogleClientRequest.Java:469)
          at com.test.utils.c.c(CommonUtility.Java:2730)
          at com.test.services.AppInstallIntentService.onHandleIntent(AppInstallIntentService.Java:71)
          at Android.app.IntentService$ServiceHandler.handleMessage(IntentService.Java:65)
          at Android.os.Handler.dispatchMessage(Handler.Java:102)
          at Android.os.Looper.loop(Looper.Java:136)
          at Android.os.HandlerThread.run(HandlerThread.Java:61)
13
N Sharma

この例外は、ホストのIPアドレスを特定できなかったことを示すためにスローされます。

この例外は、有効なWi-Fiに接続しているが、ルーターがインターネットを受信しない場合にも発生します。これを再現するのは非常に簡単です。

有効なwifiに接続するルーターが接続されている間に、ルーターからケーブルを取り外します

このエラーが発生します!!

これを実際に解決することはできません。ユーザーに通知できるのは適切な方法だけです。 (-「接続できません」のようなもの)

また、AndroidManifest.xmlに権限を追加したことを確認してください。

<uses-permission Android:name="Android.permission.INTERNET" />
15

[〜#〜] internet [〜#〜] 権限をマニフェストファイルに追加しましたか。

そうでない場合は、AndroidManifest.xmlのアプリケーションタグの外側に以下の行を追加します。

<uses-permission Android:name="Android.permission.INTERNET" /> 
1
Arpit Aggarwal