Android是否在连接或断开网络时提供任何侦听器或回调方法?

时间:2013-04-02 02:48:51

标签: android

  

无论如何在连接或断开连接到wifi网络时都会收到通知或预定义的回叫。更清楚的是,Intially设备连接到wifi网络,并开始上传一组图像。想象一下,在上传完成之前,终止网络连接。现在我的问题是如何检查网络连接是否重新建立? Android是否提供任何侦听器或回叫方法来通知该设备再次连接到网络(任何网络wifi或3g)。任何人都可以指导我找到一个好的解决方案。我非常需要它。

     

先谢谢

2 个答案:

答案 0 :(得分:4)

  

在接收器中使用此功能

<receiver android:name=".UpdateReceiver" >
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
</receiver>
  

您的UpdateReceiver

public class UpdateReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {

  ConnectivityManager connectivityManager = (ConnectivityManager) context
      .getSystemService(Context.CONNECTIVITY_SERVICE );
  NetworkInfo activeNetInfo = connectivityManager
      .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
  boolean isConnected = activeNetInfo != null && activeNetInfo.isConnectedOrConnecting();   

  if (isConnected) {       
      Log.i("NET", "connected" + isConnected);   
  } else {
      Log.i("NET", "not connected" + isConnected);
  }
}

for more info refer this

答案 1 :(得分:0)

这可以通过收听Connectiviy广播意图来实现。创建广播接收器并在广播接收器的onReceive回调中检查:

boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);

还记得用android.net.conn.CONNECTIVITY_CHANGE过滤意图。

有关广播接收器的更多详细信息,请查看Broadcast Receiver文档。