跳转到主要内容

crayonxiaoxin

[Android] 非系统应用发送受保护的 Broadcast 时 crash 的问题: Intent Filter Verification Service has stopped

在本示例中,我通过手动方式发送了 android.intent.action.PTT.down 系统广播。这是一条受系统严格保护的广播权限,通常仅限系统级应用或特定系统组件才能发送,因此直接导致应用触发崩溃保护机制(值得注意的是,在某些深度定制的 Android 设备上,如小米品牌机型,该限制可能被放宽)。

在客户实际使用场景中,出现的典型症状为:只要触碰屏幕就会立即触发弹窗报错(根源在于触屏操作意外触发了受系统保护的 android.intent.action.PTT.down 广播事件)。

对应在 Logcat 日志中的错误堆栈表现如下:

由于该广播由手动发送且应用对其进行了监听,因此只需将手动发送的广播改为自定义广播,同时监听原始系统广播与自定义广播即可(保留对系统广播的监听是为了兼容物理按键可能触发的广播事件),而非直接发送受系统保护的广播。

讨论

还没有留言,来留下第一条评论吧!

留下足迹