ACCESS_NETWORK_STATE和INTERNET有什么区别?

ACCESS_NETWORK_STATE和INTERNET有什么区别?

如果我使用INTERNET,是否需要使用ACCESS_NETWORK_STATE?

换句话说,我可以使用INTERNET而不使用ACCESS_NETWORK_STATE吗?

Solutions Collecting From Web of "ACCESS_NETWORK_STATE和INTERNET有什么区别?"

从文档 :

ACCESS_NETWORK_STATE

允许应用程序访问有关networking的信息

INTERNET

允许应用程序打开networking套接字。

简而言之, INTERNET权限允许您使用互联网,而ACCESS_NETWORK_STATE只会提供有关networking的信息,例如您是否连接到networking。

你可以使用任何一个,而不需要另一个。 如果您在尝试使用Internet之前没有检查您是否具有有效的networking连接,那么您的HTTP请求将会失败。

 android.permission.INTERNET 

如果您只是想使用互联网(连接到Web服务或在WebView上显示网页)就足够了。

 android.permission.ACCESS_NETWORK_STATE 

在使用互联网之前查询networking状态是“很高兴有”。

互联网允许你使用互联网

ACCESS_NETWORK_STATE允许您获取networking状态(wifi,3g,4g),您也可以检查networking是否连接

如果没有互联网的HTTP请求将失败,你会得到某种例外,你将不得不处理