7

私はアンドロイドが初めてです。( ) を
介して情報を受け取り、ユーザーが を有効/無効にしたかどうかを知りたいです。 このリンク を確認すると、「 」があることがわかりましたが、非表示に設定されていました。それをどのように使用できますか???broadcastreceiveronReceive"Portable Wi-Fi Hotspot" (Settings->Wireless &Networks->Tethering & portable hotspot)
android.net.wifi.WIFI_AP_STATE_CHANGED

前もって感謝します

4

2 に答える 2

25

「ポータブル 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>

詳細については、この例を参照してください。

于 2013-02-04T06:03:49.990 に答える
0

Hii #user802467 このリンクのコメントで尋ねられた質問への回答があります: How to get wifi hotspot state . バージョン 4 以降のため、値は 10 ~ 13 です。リンクで説明されているように、実際の状態を簡単に取得できます。

于 2014-10-13T09:47:12.437 に答える