4

我知道如何在活动中检查互联网是否可用,我的要求是,实际上我在设备离线(没有互联网)时将一些值存储在 DB 中,当涉及到在线时,必须将 DB 值传递给服务器没有用户交互。我怎么能做到这一点。我得到了这个例子如何在整个应用程序中定期检查 Internet 连接?但它只适用于一项活动,如何使其成为全球性的。

4

2 回答 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 回答