我正试图获得用户连接到网络的那一刻,然后我认为这BroadcastReceiver是一个很好的方法......我想做的事情是,当用户连接到网络时,知道该网络是否已连接到Internet .
主要的是知道WiFi是否需要Browse Log in示例:Handling Network Sign-On文档
我把我BroadcastReceiver变成了这个
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (networkInfo != null && networkInfo.getDetailedState() == NetworkInfo.DetailedState.CONNECTED) {
Log.d("Network", "Internet YAY");
} else if (networkInfo != null && networkInfo.getDetailedState() == NetworkInfo.DetailedState.DISCONNECTED) {
if (isNetworkOnline()) {
Log.d(TAG, String.valueOf(tikis));
NetTask TeInternet = new NetTask();
TeInternet.execute("https://www.google.com");
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试连接到WiFi没有Internet Connection输入的是这样的:
D/Network? Internet YAY
D/Network? Internet YAY
D/Network? Internet YAY
D/RequiresLoginBroadcast? 1 //this occurs sometimes …Run Code Online (Sandbox Code Playgroud) 我有一个活动,它需要响应广播事件.由于活动不能同时成为广播接收者,我制作了一个广播接收器.
我的问题是:如何通过广播接收器通知活动?我相信这是一种常见的情况,那么有这样的设计模式吗?