我们可以制作一个Android应用程序,只有当我们连接到特定的Wi-Fi网络时才有效吗?

时间:2016-03-01 12:38:06

标签: java android networking wifi

我想知道我们是否可以创建一个仅在我们连接到特定Wi-Fi网络时才有效的Android应用程序? 非常感谢所有帮助!我在这里完全没有想法。谢谢。

4 个答案:

答案 0 :(得分:1)

boolean onRightNetwork() {
    WifiManager wifiManager = (WifiManager) App.getContext()
                        .getSystemService(App.getContext().WIFI_SERVICE);
                WifiInfo wifiInfo = wifiManager.getConnectionInfo();

    return wifiInfo.getSSID().equals(NETWORK_NAME);
}

在onResume中运行它,只是弹出一个屏幕,如果返回false,则表示连接到正确的网络。您可能还需要注册广播接收器以侦听wifi连接/断开连接事件,并根据需要执行此检查。

答案 1 :(得分:0)

试试这个:

WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
wifiInfo.getSSID();

获取SSID后,将其与您想要的匹配。如果满足条件,那就做你想做的事。

答案 2 :(得分:0)

您可以在启动器/* * Product Type Meta Box Init */ function meta_box_product_type_add() { add_meta_box('ptype_testing', 'Product Type', 'add_ptype', 'testing', 'normal', 'high'); } /* * Product Type Field */ function add_ptype() { ?> <label>Type of Product : </label> <select name="ptype" id="ptypes"> <option>----Select----</option> <option>Physical</option> <option>Virtual</option> </select> <label>Unit :</label> <select name="punit" id="units"> <option>----Select----</option> <option>KG</option> <option>Mtr</option> <option>Ltr</option> </select> <?php } 中为此编写自己的逻辑。

Activity

上面的代码是获取当前连接的网络名称的名称,如果它符合您的预定义名称,您可以设置条件,允许用户使用您的应用程序。

答案 3 :(得分:-1)

您可以尝试这样的事情:

ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (!mWifi.isConnected()) {
// exit app here
}

确保您在AndroidManifest.xml中拥有适当的权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

相关答案:https://stackoverflow.com/a/3841407/3693617