我想为不同模式的 Wi-Fi 连接和移动数据编写一个事件。
- 如果 Wi-Fi 已开启且移动数据已关闭,Wi-Fi 图标将可见
- 如果移动数据已开启且 Wi-Fi 已关闭,则会显示移动数据图标
- 如果两者都打开,则两个图标都将可见
- 如果两者都关闭,则图标将消失
- 如果两者都打开,其中一个熄灭,则熄灭的图标将熄灭
和手机的系统性能一模一样!</p>
public class NetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
final ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifiType = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobileType = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifiType.isConnectedOrConnecting()) {
wifi.setVisibility(View.VISIBLE);
} else if (mobileType.isConnectedOrConnecting()) {
data.setVisibility(View.VISIBLE);
} else if (wifiType.isConnectedOrConnecting() || mobileType.isConnectedOrConnecting()) {
wifi.setVisibility(View.VISIBLE);
data.setVisibility(View.VISIBLE);
} else {
wifi.setVisibility(View.GONE);
data.setVisibility(View.GONE);
}
}
}