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