在我的项目中,我使用 JSON 解析,在我的第一个 Activity 中,我展示了从 Web 服务获取数据的 ListView,问题是当它们没有互联网连接时,它显示空白,但如果我继续那个 Activity 和互联网即将到来,然后我的 Activity 会重新加载,为此要做什么。
最佳答案
使用BroadcastReceiver
。
private BroadcastReceiver networkReceiver = new BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if(intent.getExtras()!=null) {
NetworkInfo ni=(NetworkInfo)intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
if(ni!=null && ni.getState()==NetworkInfo.State.CONNECTED) {
// we're connected
}
}
// we're not connected
}
}
在您的 onResume()
中注册,并在 onPause()
中取消注册。
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(networkReceiver);
}
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(networkReceiver, filter);
}
public boolean isNetworkConnected() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
关于android - 在 android 中重新加载 Internet 事件的 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18566401/