# BroadcastListener **Repository Path**: dezhihuang/BroadcastListener ## Basic Information - **Project Name**: BroadcastListener - **Description**: 监听系统广播消息 - **Primary Language**: Android - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-06-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 首先通过`adb`命令获取系统广播记录 ```sh adb shell dumpsys |grep BroadcastRecord ``` 通过分析自己所需要的广播`action`,注册在自己的广播接收者,获取`extras` ```java BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Bundle bundle = intent.getExtras(); StringBuilder info = new StringBuilder(); if (bundle != null) { Set getKey = bundle.keySet(); for (String key : getKey) { Object object = bundle.get(key); if (object instanceof Integer) { info.append("\n").append(key).append("==int==").append(object); } else if (object instanceof String) { info.append("\n").append(key).append("==String==").append(object); } else if (object instanceof Boolean) { info.append("\n").append(key).append("==boolean==").append(object); } else { if (object != null) { info.append("\n").append(key).append("==").append(object.getClass()).append("==").append(object); } else { info.append("\n").append(key).append("==").append("null").append("==").append("null"); } } } if (isOrderedBroadcast()) { abortBroadcast(); } } else { info = new StringBuilder("no extras"); } } }; ```