В чем разница между ACCESS_NETWORK_STATE и Интернетом?

В чем разница между ACCESS_NETWORK_STATE и Интернетом?

Если я использую INTERNET, нужно ли использовать ACCESS_NETWORK_STATE?

Другими словами, могу ли я использовать ИНТЕРНЕТ без использования ACCESS_NETWORK_STATE?

Ответы

Ответ 1

Из документация:

ACCESS_NETWORK_STATE:

Позволяет приложениям получать доступ к информации о сетях

INTERNET:

Позволяет приложениям открывать сетевые сокеты.

Короче говоря, разрешение INTERNET позволяет вам использовать Интернет, тогда как ACCESS_NETWORK_STATE будет просто предоставлять вам информацию о сети, например, независимо от того, подключены ли вы к сети.

Вы можете использовать любой из них, не требуя другого. Если вы не убедитесь, что у вас есть действующее сетевое соединение, прежде чем пытаться использовать Интернет, ваши HTTP-запросы просто провалятся.

Ответ 2

android.permission.INTERNET

достаточно, если вы просто хотите использовать интернет (подключиться к веб-службе или показать веб-страницу в веб-браузере).

android.permission.ACCESS_NETWORK_STATE

"приятно иметь" запрашивать статус состояния сети перед использованием Интернета.

Ответ 3

ИНТЕРНЕТ позволяет использовать интернет

ACCESS_NETWORK_STATE позволяет вам получить состояние сети (wifi, 3g, 4g), также вы можете проверить, подключена ли сеть или нет.

Если интернет отсутствует, запрос HTTP будет терпеть неудачу, и вы получите какое-то исключение, которое вам придется обрабатывать