无论如何在连接或断开连接到wifi网络时都会收到通知或预定义的回叫。更清楚的是,Intially设备连接到wifi网络,并开始上传一组图像。想象一下,在上传完成之前,终止网络连接。现在我的问题是如何检查网络连接是否重新建立? Android是否提供任何侦听器或回叫方法来通知该设备再次连接到网络(任何网络wifi或3g)。任何人都可以指导我找到一个好的解决方案。我非常需要它。
先谢谢
答案 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);
}
}
答案 1 :(得分:0)
这可以通过收听Connectiviy广播意图来实现。创建广播接收器并在广播接收器的onReceive回调中检查:
boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
还记得用android.net.conn.CONNECTIVITY_CHANGE过滤意图。
有关广播接收器的更多详细信息,请查看Broadcast Receiver文档。