Приемники вещания, зарегистрированные в контексте Android 14, не работаютAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Приемники вещания, зарегистрированные в контексте Android 14, не работают

Сообщение Anonymous »

Я экспериментирую со своим приложением на устройстве Android 14: отправляю локальную трансляцию, а затем подписываюсь на нее в приложении. Однако когда я использую параметр RECEIVER_NOT_EXPORTED, широковещательная рассылка вообще не принимается.
Ниже приведен код, который я использую:

Код: Выделить всё

class DashboardFragment : Fragment() {
private var \_binding: FragmentDashboardBinding? = null

// This property is only valid between onCreateView and
// onDestroyView.
private val binding get() = _binding!!

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val dashboardViewModel =
ViewModelProvider(this).get(DashboardViewModel::class.java)

_binding = FragmentDashboardBinding.inflate(inflater, container, false)
val root: View = binding.root

binding.button.setOnClickListener {
Intent("com.nama.action").also { intent ->
intent.putExtra("nama", dashboardViewModel.text.value)
requireContext().sendBroadcast(intent)
}
}

val textView: TextView = binding.textDashboard
dashboardViewModel.text.observe(viewLifecycleOwner) {
textView.text = it
}

val br: BroadcastReceiver = MyBroadcastReceiver()
val filter = IntentFilter("com.nama.action")
ContextCompat.registerReceiver(requireContext().applicationContext, br, filter, ContextCompat.RECEIVER_NOT_EXPORTED)

return root
}

override fun onDestroyView() {
super.onDestroyView()
_binding = null
}

}
Когда я использую RECEIVER_EXPORTED, я могу принимать широковещательные сообщения. Согласно документам Google, нам не нужно экспортировать локальные уведомления, которые используются в том же приложении?
Я что-то упустил?

Подробнее здесь: https://stackoverflow.com/questions/769 ... ot-working
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»