我知道如何在活动中检查互联网是否可用,我的要求是,实际上我在设备离线(没有互联网)时将一些值存储在 DB 中,当涉及到在线时,必须将 DB 值传递给服务器没有用户交互。我怎么能做到这一点。我得到了这个例子如何在整个应用程序中定期检查 Internet 连接?但它只适用于一项活动,如何使其成为全球性的。
问问题
1723 次
2 回答
7
在您的接收器中使用它
<receiver android:name=".UpdateReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
您的更新接收者
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", "connecte" +isConnected);
else Log.i("NET", "not connecte" +isConnected);
}
}
于 2012-05-11T05:58:19.020 回答
0
试试这个功能
public static boolean isInternetAvailable(Context context) {
ConnectivityManager cm =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
并在清单中
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
请享用..
于 2012-05-11T05:21:32.370 回答