【发布时间】:2014-11-10 09:06:42
【问题描述】:
在我的应用程序中,我必须在没有用户操作的情况下自动知道用户是否连接到 Wifi 的 wifi 状态。我还想检测用户何时不使用应用程序。有什么办法吗?我是安卓新手。
【问题讨论】:
-
美好的一天这篇文章可能会有所帮助:stackoverflow.com/questions/3841317/…
标签: android android-wifi
在我的应用程序中,我必须在没有用户操作的情况下自动知道用户是否连接到 Wifi 的 wifi 状态。我还想检测用户何时不使用应用程序。有什么办法吗?我是安卓新手。
【问题讨论】:
标签: android android-wifi
最适合我的:
AndroidManifest
<receiver android:name="com.AEDesign.communication.WifiReceiver" >
<intent-filter android:priority="100">
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
BroadcastReceiver 类
public class WifiReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if(info != null) {
if(info.isConnected()) {
// Do your work.
// e.g. To check the Network Name or other info:
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
}
}
}
}
接收时会自动调用。
【讨论】:
WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if (wifi.isWifiEnabled()){
//wifi is enabled
}
详情请查看here
或
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (networkInfo.isConnected()) {
// Do whatever
}
【讨论】: