问题描述
- Android BroadcastReceiver 动态注册
-
我在Activity里面动态注册广播 filter.addAction("");里面的字符串要填什么?
解决方案
如果是系统广播,则要填写对应的action
例如
wifiListener = new WifiListener();
IntentFilter filter = new IntentFilter();// 创建IntentFilter对象
filter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(wifiListener, filter);// 注册Broadcast Receiver*/
如果是自己写的广播,可可以自定定义ACtion 字符串哦,用字符串常量
解决方案二:
填写你想监听到的广播的action,比如想监听网络变化,就填写
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
解决方案三:
注释直接写在代码里,比较直观,我觉得这些定义系统的广播的宏,不是很好使;MainActivity.java:package com.vrinux.broadcastdemo;import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import andr……......
答案就在这里:Android:动态注册BroadcastReceiver
----------------------
时间: 2024-09-17 03:29:11