Vik*_*pta 3 android broadcastreceiver android-intent wifimanager
我想在设备连接到wifi网络时在屏幕上显示连接过程.SUPPLICANT_STATE_CHANGED_ACTION由WifiManager提供,但我不知道如何使用它.有人可以帮我吗?
您确实可以使用广播意图SUPPLICANT_STATE_CHANGED_ACTION:
该应用程序需要其Manifest文件中的权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Run Code Online (Sandbox Code Playgroud)
然后注册系统广播:
MyWifiStateReceiver handler = new MyWifiStateReceiver();
context.registerReceiver(handler, new IntentFilter(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION));
Run Code Online (Sandbox Code Playgroud)
在registerReceiver()需要实现类的实例BroadcastReceiver作为第一个参数.在该代码中,您可以通过覆盖onReceive方法来处理Wifi状态更改.例如
public class MyWifiStateReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION))
{
SupplicantState state = (SupplicantState) intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE);
switch(state)
{
case COMPLETED:
case DISCONNECTED:
...
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有关可能的Wifi状态值,请参阅http://developer.android.com/reference/android/net/wifi/SupplicantState.html
| 归档时间: |
|
| 查看次数: |
4646 次 |
| 最近记录: |