【问题标题】:Is the permission - android.permission.INTERNET, specific to a particular type of internet connection (like 2G, 3G) ? [closed]权限 - android.permission.INTERNET 是否特定于特定类型的互联网连接(如 2G、3G)? [关闭]
【发布时间】:2014-01-21 14:31:22
【问题描述】:

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

【问题讨论】:

    标签: java android permissions


    【解决方案1】:

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

    【讨论】:

    • 对android意图有什么影响吗?
    • 我不确定你的意思。您的意思是,您可以在未经许可的情况下启动网址吗?
    【解决方案2】:

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

    【讨论】:

    • 很好的解释。我可以知道我们是否通过 USB 连接进行通信。是否需要通过“android.permission.INTERNET”这个方法获得权限才能访问这些端口?
    • USB 电缆只是您进行通信的媒介。最终,如果您必须通过 USB(或任何其他介质)与其他设备通信,您将需要套接字。因此,您将需要 INTERNET 权限。
    • 场景是这样的。我需要将移动应用程序与桌面通信。我的应用程序不需要互联网访问。它还与 USB 端口通信。因此,我需要授予“android.permission.INTERNET”权限吗?
    • 这里,INTERNET 这个词实际上并不意味着互联网。它允许创建套接字——即使是那些没有通过互联网完全连接到设备的套接字。所以,是的,为了与您的桌面通信,您需要 INTERNET 权限。
    • 我明白你的意思。另一件事,“android.permission”是否意味着我们获得了谁的许可?是来自用户(通知并获得许可)还是来自我们要打开这些套接字的设备(android 内核)?
    【解决方案3】:

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

    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;
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多