Tri*_*yen 6 android broadcastreceiver android-intent
我是android的新手.
我想通过broadcastreceiver(onReceive)接收信息,知道如果用户启用/禁用"Portable Wi-Fi Hotspot" (Settings->Wireless &Networks->Tethering & portable hotspot).
检查此链接
我发现有" android.net.wifi.WIFI_AP_STATE_CHANGED"但它被设置为隐藏.我怎么可以用那个???
提前致谢
ρяσ*_*я K 23
要接收启用/禁用"便携式Wi-Fi热点"事件,您需要将接收器注册为WIFI_AP_STATE_CHANGED,如下所示:
mIntentFilter = new IntentFilter("android.net.wifi.WIFI_AP_STATE_CHANGED");
registerReceiver(mReceiver, mIntentFilter);
Run Code Online (Sandbox Code Playgroud)
在BroadcastReceiver onReceive里面我们可以使用wifi_stateas 提取wifi热点状态:
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
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
您可以通过在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>
Run Code Online (Sandbox Code Playgroud)
你可以看到这个例子以获得更多帮助
| 归档时间: |
|
| 查看次数: |
8193 次 |
| 最近记录: |