移动应用开发

时间:2017-11-07 02:25:35

标签: android android-studio

我有什么方法可以开发一个只能连接到学院WLAN的应用程序,应该限制应用程序使用移动数据和其他无线网络。

1 个答案:

答案 0 :(得分:1)

  1. 您的意思是只能通过大学WLAN访问数据的应用吗?然后是的

  2. 如果您指的是限制用户手机连接到任何其他互联网来源的应用,则为NO。

  3. 用户在决定使用手机做什么时拥有最强大的权力,apps requires permission from users

    如果是案例1,您可以尝试检查它是使用WIFI还是数据:

    public static String checkNetworkStatus(final Context context) {
    
            String networkStatus = "";
    
            // Get connect mangaer
            final ConnectivityManager connMgr = (ConnectivityManager)  
                    context.getSystemService(Context.CONNECTIVITY_SERVICE);
    
            // check for wifi
            final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    
            // check for mobile data
            final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    
            if( wifi.isAvailable() ) {
                networkStatus = "wifi";
            } else if( mobile.isAvailable() ) {
                networkStatus = "mobileData";
            } else {
                networkStatus = "noNetwork";
            }
    
            return networkStatus;
    
    }  // end checkNetworkStatus 
    

    然后获取wifi名称,并将其与您的大学wifi名称进行比较:

    public String getWifiName(Context context) {
        WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        if (manager.isWifiEnabled()) {
           WifiInfo wifiInfo = manager.getConnectionInfo();
           if (wifiInfo != null) {
              DetailedState state = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState());
              if (state == DetailedState.CONNECTED || state == DetailedState.OBTAINING_IPADDR) {
                  return wifiInfo.getSSID();
              }
           }
        }
        return null;
    }
    

    快乐编码