【发布时间】:2016-03-01 12:38:05
【问题描述】:
我想知道我们是否可以制作一个仅在我们连接到特定 wi-fi 网络时才可以使用的 Android 应用程序? 非常感谢所有帮助!我在这里完全没有想法。谢谢。
【问题讨论】:
标签: java android networking wifi
我想知道我们是否可以制作一个仅在我们连接到特定 wi-fi 网络时才可以使用的 Android 应用程序? 非常感谢所有帮助!我在这里完全没有想法。谢谢。
【问题讨论】:
标签: java android networking wifi
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 连接/断开连接事件,并在那里根据需要执行此检查。
【讨论】:
您可以在启动器Activity 中为此编写自己的逻辑。
WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
String name = wifiInfo.getSSID();
上面的代码是获取当前连接的网络名称的名称,如果它与您的预定义名称匹配,您可以设置条件,允许用户使用您的应用程序。
【讨论】:
试试这个:
WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
wifiInfo.getSSID();
获取 SSID 后,将其与您想要的匹配。如果条件满足,就随你所愿。
【讨论】:
你可以试试这样的:
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>
【讨论】: