WiFiがオンの場合、ブール値をtrueに設定しようとしています。ブロードキャスト レシーバーの実装を通じて接続状態を取得しています。ただし、ブール値が複数回 true に設定されています。これで私を助けてもらえますか?? WiFiが接続されている場合にのみブール値をtrueに設定し、WiFiが切断されている場合にのみfalseに設定する必要があります。コードは次のとおりです。
NetworkInfo info = (NetworkInfo) ((ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE))
.getActiveNetworkInfo();
if (info != null) {
Log.d("wifiRun", "Network available");
ConnectivityManager conMan = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo.State wifi = null;
if (conMan.getNetworkInfo(1).isAvailable())
wifi = conMan.getNetworkInfo(1).getState();
if (wifi == NetworkInfo.State.CONNECTED) {
//|| wifi == NetworkInfo.State.CONNECTING) {
wifiState = true;
Log.d("wifiRun", "wifiState: " + wifiState);
} else {
wifiState = false;
Log.d("wifiRun", "wifiState: " + wifiState);
}
}
マニフェスト:
<receiver android:name="com.aws.BatteryUsage.ServiceDefinition">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>