是权限 - android.permission.INTERNET,特定于特定类型的互联网连接(如2G,3G)?

时间:2014-01-21 14:31:23

标签: java android permissions

权限 - android.permission.INTERNET,特定于特定类型的互联网连接(如2G,3G)还是适用于所有类型?而且,我是否需要INTERNET权限才能在没有/不需要访问互联网的专用网络上进行通信?

3 个答案:

答案 0 :(得分:5)

android.permission.INTERNET允许通过任何媒体(WiFi,移动)访问互联网。明智地对用户的使用限制持谨慎态度,你应该正确考虑managing network usage

答案 1 :(得分:3)

任何Android设备,如果必须与其他设备通信,都必须使用sockets。当您向应用程序提供INTERNET权限时,您实际上是在请求permission to open network sockets。因此,无论您需要与之通信的其他设备在哪里(2G,3G互联网,WiFi,LAN等),您都需要使用INTERNET权限打开套接字与其进行通信。

答案 2 :(得分:1)

您可以执行类似此功能的操作,以隔离它们并根据您的要求执行操作。

public  boolean isConnected()
        {

            boolean status = false;

            ConnectivityManager manager = (ConnectivityManager)getSystemService(this.CONNECTIVITY_SERVICE);
            Boolean is3g = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
            Boolean isWifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

                if(is3g){
                    status = true;

                }else if(isWifi){

                    status = true;

                }else{
                    startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
                }

            return status;
        }