【发布时间】:2014-06-19 19:14:21
【问题描述】:
我正在尝试使用 BroadcastReceiver 来检测 wifi 是否已连接,并在状态更改(wifi 断开/重新连接/关闭)时简单地显示一个 toast,但它似乎不起作用。有什么想法吗?
ConnectionChangeReceiver 类:
public class ConnectionChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive( Context context, Intent intent )
{
ConnectivityManager connMgr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final boolean isWifiConn = networkInfo.isConnected();
Log.d("debug", "Wifi connected: " + isWifiConn);
Toast toast = Toast.makeText(context, "Wifi connected: " + isWifiConn, Toast.LENGTH_LONG);
toast.show();
}
}
清单:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<receiver android:name="ConnectionChangeReceiver" android:label="NetworkConnection">
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
</receiver>
我进入应用程序,然后断开 wifi,重新连接,没有 toast。我禁用了wifi,没有吐司。重新启用它,没有吐司。我怀疑广播接收器有问题。
提前致谢。
【问题讨论】:
标签: android