【发布时间】:2013-12-11 18:08:36
【问题描述】:
我在我的活动中使用广播接收器来检查互联网是否连接,如果它只连接,那么它应该发出一个 http 请求,否则会显示一个警告对话框,说明没有互联网连接并且它工作正常。
问题我的整个应用程序使用互联网连接,所有活动。我应该如何使广播接收器在整个应用程序中可用。
我的Broadcast Receiver class
private BroadcastReceiver mConnReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
String reason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON);
boolean isFailover = intent.getBooleanExtra(ConnectivityManager.EXTRA_IS_FAILOVER, false);
currentNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
otherNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO);
if(currentNetworkInfo.isConnected())
{
Toast.makeText(getApplicationContext(), "Internet Connected", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "Internet Not Connected", Toast.LENGTH_LONG).show();
}
}
};
然后onCreate
this.registerReceiver(this.mConnReceiver,
new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
【问题讨论】:
-
您想在用户连接到互联网时收到通知,还是要检查他是否已连接(您不需要 BroadcastReceiver)?
-
你可以有一个抽象的Activity来实现Braodcardreceiver,并将该Activity扩展到其他Activity
-
@RvdK 我的整个应用程序主要在网络服务(json)的帮助下工作在互联网连接上,所以我希望在连接丢失时通知用户
标签: android broadcastreceiver android-broadcast