4

アクティビティでインターネットが利用可能かどうかを確認する方法を知っています。私の要件は、実際には、デバイスがオフラインのとき (インターネットなし) に DB にいくつかの値を保存していることです。オンラインになると、DB 値をサーバーに渡す必要があります。ユーザーの対話なしで。どうすればこれを達成できますか。私はこの例を手に入れましたアプリケーション全体でインターネット接続を定期的にチェックする方法は? しかし、それは1つのアクティビティに対してのみ機能しています。それをグローバルにする方法。

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 に答える