「ポータブル Wi-Fi ホットスポット」イベントの有効化/無効化を受け取るには、WIFI_AP_STATE_CHANGED のレシーバーを次のように登録する必要があります。
mIntentFilter = new IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED");
registerReceiver(mReceiver, mIntentFilter);
BroadcastReceiver onReceive 内では、 as を使用して wifi ホットスポットの状態を抽出できますwifi_state
。
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if ("android.net.wifi.WIFI_AP_STATE_CHANGED".equals(action)) {
// get Wi-Fi Hotspot state here
int state = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
if (WifiManager.WIFI_STATE_ENABLED == state % 10) {
// Wifi is enabled
}
}
}
};
アクションのためにAndroidManifestでReceiverを宣言することで同じことができ、android.net.wifi.WIFI_AP_STATE_CHANGED
必要なすべてのwifi権限をAndroidManifest.xml
編集 :
次のように AndroidManifest にレシーバーを追加します。
<receiver android:name=".WifiApmReceiver">
<intent-filter>
<action android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
</intent-filter>
</receiver>
詳細については、この例を参照してください。