Tôi đã cố gắng đăng ký một BroadcastReceiver Wifi để nhận trạng thái wifi khi nó thay đổi. Nhưng cho đến nay tôi không có may mắn nhận được phát sóng.BroadcastReceiver được khai báo trong tệp kê khai không nhận được Broadcast
<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>
Các bạn có biết cách đăng ký BraodcastReceiver trong tệp kê khai không?
Tôi không muốn đăng ký nó trong hoạt động vì tôi muốn giám sát wifi khi có những thay đổi trong tình trạng wifi cho dù ứng dụng của tôi đang chạy hay không.
Đây là lớp BroadcastReceiver tôi:
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());
}
}
Tôi thực sự hy vọng sẽ nhận được một số giúp đỡ. Cảm ơn trước.
Nhìn vào Blog này http://marakana.com/forums/android/examples/40.html – Ajay
Bạn đã xác định phép cho android .permission.ACCESS_WIFI_STATE và android.permission.CHANGE_WIFI_STATE – Ajay
@Ajay, tôi đã xem Blog mà bạn đã đề cập. Vấn đề là, như tôi đã đề cập, tôi muốn đăng ký người nhận trong bản kê khai KHÔNG trong các hoạt động. Tôi đã cho phép trong tệp kê khai. Dù sao, cảm ơn sự chú ý của bạn Ajay. – Zul