У меня следующее сообщение об ошибке на несколько моих пользователей:ошибка запроса HttpURLConnection (Отсутствует разрешение Интернет, когда разрешение включено)
Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
at java.net.InetAddress.lookupHostByName(InetAddress.java:418)
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 [my communication HttpUrlConnection request]
... 12 more
Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Posix.getaddrinfo(Native Method)
at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:61)
at java.net.InetAddress.lookupHostByName(InetAddress.java:405)
... 25 more
Caused by: libcore.io.ErrnoException: getaddrinfo failed: EACCES (Permission denied)
... 28 more
приложение требует Интернет, чтобы сделать это самая основная функция, я дон Не думайте, что пользователь удалил это разрешение с помощью root или что-то в этом роде.
Кроме того, эта ошибка была отправлена мне с помощью собственного инструмента для создания отчетов об ошибках. Я сделал загрузку с зарегистрированной ошибкой, и в этот момент было доступно разрешение.
Нет ограничений на модель устройства версии для Android, у которой есть ошибка.
Пример части манифеста:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
[...]
Любой ключ ценится,
Заранее спасибо.
Я не могу загрузить его здесь, но я на 100% уверен, что с манифестом нет проблем. Я проверяю вручную разрешения, даже если это разрешено, и разрешение было подтверждено. Код не должен даже доходить до этой точки, если разрешения недоступны. Поскольку ошибка была загружена, разрешение было доступно в какой-то момент. Я прочитал эту ссылку, и у меня есть механизмы обнаружения ошибок, чтобы избежать сбоев, но я действительно хотел понять, что происходит и как правильно обрабатывать, а не просто делать попытку. –
Почему вы не можете загрузить файл манифеста здесь? – null
Потому что это происходит не только в одном приложении. У меня есть библиотека, которая используется в нескольких приложениях, и это происходит не только в одном. Хотя не часто, у него все еще есть некоторые повторяющиеся записи. Я не думал, что было бы полезно загрузить, чтобы загрузить манифест всех приложений, которые обычно работают очень хорошо, но несколько запросов все еще терпят неудачу. Но, как вы спросили, я вставил начало манифеста одного из приложений. Спасибо за внимание. –