Wi-Fi BroadcastReceiverを登録して、変更時にWiFi状態を取得しようとしました。しかし、これまで私は放送を受けていない運がありません。マニフェストで宣言されたBroadcastReceiverがブロードキャストを受信していません
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name=".WifiReceiver" >
<intent-filter>
<action android:name="android.net.wifi.WifiManager.WIFI_STATE_CHANGED_ACTION" />
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
//activity declaration here...
</application>
あなたはマニフェストにBraodcastReceiverを登録する方法を知っていますか?
私は自分のアプリケーションが実行されているかどうかのWiFi状態の変更がある場合に無線LANを監視にしたいので、活動に登録する必要はありません。私は実際にいくつかの助けを得ることを期待
public class WifiReceiver extends BroadcastReceiver {
private final String TAG = "WifiReceiver";
@Override
public void onReceive(Context context, Intent intent) {
int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
String wifiStateText = "No State";
switch (wifiState) {
case WifiManager.WIFI_STATE_DISABLING:
wifiStateText = "WIFI_STATE_DISABLING";
break;
case WifiManager.WIFI_STATE_DISABLED:
wifiStateText = "WIFI_STATE_DISABLED";
break;
case WifiManager.WIFI_STATE_ENABLING:
wifiStateText = "WIFI_STATE_ENABLING";
break;
case WifiManager.WIFI_STATE_ENABLED:
wifiStateText = "WIFI_STATE_ENABLED";
break;
case WifiManager.WIFI_STATE_UNKNOWN:
wifiStateText = "WIFI_STATE_UNKNOWN";
break;
default:
break;
}
MyLog.d(TAG, "onReceive Broadcast > WiFiState: " + wifiStateText);
MyLog.d(TAG, "onReceive Broadcast > Time: " + new Date());
}
}
:
これは私BroadcastReceiverクラスです。前もって感謝します。
このブログを見http://marakana.com/forums/android/examples/40.html – Ajay
に関連するすべての放送受信機では、には、Androidのための許可を定義しています.permission.ACCESS_WIFI_STATE android.permission.CHANGE_WIFI_STATE – Ajay
@Ajay、私は既にあなたが言及したブログを見ました。問題は、私が言及したように、私は活動のマニフェストではなく受信者を登録することです。私はすでにマニフェストに許可を入れました。とにかく、あなたの注意Ajayに感謝します。 – Zul