受信機で行います。ネットワーク状態の変化について通知することができます。例えば、
private BroadcastReceiver networkReceiver = new BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if(intent.getExtras()!=null) {
NetworkInfo ni=(NetworkInfo) intent.getExtras().get(ConnectivityManager.EXTRA_NETWORK_INFO);
if(ni!=null && ni.getState()==NetworkInfo.State.CONNECTED) {
// we're connected
}
}
// we're not connected
}
}
はあなたのonResume()
でこれを登録し、onPause()
に登録解除します。
さらに
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(networkReceiver);
}
@Override
protected void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(networkReceiver, filter);
}
、あなたの受信機は
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
なぜ、
アプリのリクエストこの権限を確認して、あなたの
onResume()
方法でこれを呼び出して、登録されていた前の初期状態を取得しますこれをする必要がありますか? –