これをマニフェストに追加することで、新しいネットワークが利用可能になったときにトリガーされるブロードキャストレシーバーを作成する必要があります。
<receiver
android:name=".receivers.NetworkChangeReceiver"
android:label="NetworkChangeReceiver">
<intent-filter>
<action
android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action
android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
次に、受信機に接続があるかどうかを確認できます。
public class NetworkChangeReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager cm=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm.getActiveNetworkInfo()!=null&&cm.getActiveNetworkInfo().isConnected()){
//Send a broadcast to your service or activity that you have network or notifiy you have a network
//...
}else{
LOG.i("Network UNAVAILABLE");
}
}
}
返信に時間を割いていただき、ありがとうございます。残念ながら、私は薄くはありません。私がデバイスから見つけ出すことを望むのは、ユーザーが新しいネットワークの通知を受け取るかどうかということです。基本的には、ユーザーが設定メニューのチェックボックスをチェックして、新しいネットワークが利用可能になったときに通知されるかどうかを知りたいだけです。通知されることを選択していない場合、ネットワークに接続するには、WiFiメニューから明示的に行う必要があります。これは理にかなっていますか? – blh83
@ blh83これを見つけることができましたか?私は同じことを探しています。 – George