ACCESS_NETWORK_STATE和INTERNET有什么区别?

时间:2013-10-28 18:09:00

标签: android android-permissions

ACCESS_NETWORK_STATE和INTERNET有什么区别?

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

换句话说,我可以在不使用ACCESS_NETWORK_STATE的情况下使用INTERNET吗?

3 个答案:

答案 0 :(得分:33)

来自the documentation

ACCESS_NETWORK_STATE

  

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

INTERNET

  

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

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

你可以使用其中任何一个而不需要另一个。如果在尝试使用Internet之前未检查到您是否具有有效的网络连接,则您的HTTP请求将会失败。

答案 1 :(得分:8)

android.permission.INTERNET
如果你只是想使用互联网(连接到网络服务或在webView上显示网页),

就足够了。

android.permission.ACCESS_NETWORK_STATE
在使用互联网之前,

很高兴查询网络状态。

答案 2 :(得分:2)

INTERNET允许您使用互联网

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

如果没有互联网,HTTP请求将失败,您将获得某种必须处理的异常