当前位置: 代码迷 >> Android >> 如何接收标记为FLAG_RECEIVER_register_ONLY_BEFORE_BOOT的意图
  详细解决方案

如何接收标记为FLAG_RECEIVER_register_ONLY_BEFORE_BOOT的意图

热度:69   发布时间:2023-08-04 10:24:41.0

从Android 5.0开始,HidService.java包含以下功能:

private void broadcastReport(BluetoothDevice device, byte[] report, int rpt_size) {
    Intent intent = new Intent(BluetoothInputDevice.ACTION_REPORT);
    intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
    intent.putExtra(BluetoothInputDevice.EXTRA_REPORT, report);
    intent.putExtra(BluetoothInputDevice.EXTRA_REPORT_BUFFER_SIZE, rpt_size);
    intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
    sendBroadcast(intent, BLUETOOTH_PERM);
}

我无法在此标志上找到任何文档。 我应该如何在我的应用程序中接收此广播意图?

==============
编辑的内容已删除,并形成新问题

该常量未在因为它不适合公众使用。

这是我发现描述。 (第3018行)

FLAG_RECEIVER_register_ONLY_BEFORE_BOOT

公共静态最终int FLAG_RECEIVER_register_ONLY_BEFORE_BOOT

如果设置该选项,则在引导完成之前发送广播时,将仅调用已注册的接收器-不会启动BroadcastReceiver组件。 即使没有呼叫接收者,也会正确记录粘性意图状态。 如果在广播意图中指定了FLAG_RECEIVER_located_ONLY,则不需要此标志。

此标志仅供系统服务使用,以方便避免在启动完成检测周围实施更复杂的机制。

强调我的。

  相关解决方案