Cil*_*nco 5 android android-broadcast
在我的应用程序中,我必须在设备连接或断开WIFI网络时收到通知.为此,我必须使用a BroadcastReceiver但在阅读了不同的文章和问题后,我有点困惑,我应该使用哪个广播操作.在我看来,我有三个选择:
为了减少资源,我真的只想在设备CONNECTED进入WIFI网络(并且它已经收到IP地址)或设备有DISCONNECTED来自一个时收到通知.我不关心其他州等CONNECTING.
那么您认为我应该使用的最佳广播动作是什么?而且我必须manully过滤事件(因为我receieve更多然后CONNECTED和DISCONNECTED)的onReceive?
编辑:正如我在下面的评论中所指出的,我认为SUPPLICANT_CONNECTION_CHANGE_ACTION对我来说是最好的选择,但我的申请从未被解雇或收到.其他人对此广播也有同样的问题,但从未提出真正的解决方案(实际上使用了其他广播).有什么想法吗?
请尝试
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
filter.addAction("android.net.wifi.STATE_CHANGE");
registerReceiver(networkChangeReceiver, filter);
}
@Override
protected void onDestroy() {
unregisterReceiver(networkChangeReceiver);
super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)
和
BroadcastReceiver networkChangeReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (!AppUtils.hasNetworkConnection(context)) {
showSnackBarToast(getNetworkErrorMessage());
}
}
};
Run Code Online (Sandbox Code Playgroud)
我正在使用这个,它对我有用。希望它能帮助你。
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |