в чем разница между sendStickyBroadcast и sendBroadcast на Android?

В чем разница между sendStickyBroadcast и sendBroadcast в Android?

    3 Solutions collect form web for “в чем разница между sendStickyBroadcast и sendBroadcast на Android?”

    Вот что говорит Android SDK о sendStickyBroadcast() :

    Выполняйте sendBroadcast (Intent), который является «липким», то есть Intent, который вы отправляете, остается после завершения трансляции, чтобы другие могли быстро получить эти данные через возвращаемое значение registerReceiver (BroadcastReceiver, IntentFilter). Другими словами, это ведет себя так же, как sendBroadcast (Intent).

    Одним из примеров липкой трансляции, отправляемой через операционную систему, является ACTION_BATTERY_CHANGED . Когда вы вызываете registerReceiver() для этого действия – даже с null BroadcastReceiver – вы получаете Intent которое было передано последним для этого действия. Следовательно, вы можете использовать это, чтобы найти состояние батареи, не обязательно регистрируясь для всех будущих изменений состояния батареи.

    Типы : – местный, нормальный, упорядоченный и липкий

    Нормальная трансляция

    : – использовать sendBroadcast ()

    : – асинхронное вещание

    : – любой получатель получает широковещательную передачу не в определенном порядке

    Заказная трансляция

    : – использовать sendOrderedBroadcast ()

    : – синхронное вещание

    : – приемник получает широковещательную передачу в приоритетной базе

    : – мы также можем просто прервать трансляцию в этом типе

    Местная трансляция

    : – использовать только тогда, когда широковещательная передача используется только внутри одного процесса

    Важная трансляция

    : – нормальное назначение трансляции больше не доступно после отправки и обработки этой системы.

    : – использовать sendStickyBroadcast (Intent)

    : – соответствующее намерение является липким, то есть намерение, которое вы отправляете, остается после завершения трансляции.

    : – из-за этого другие могут быстро получить эти данные через возвращаемое значение registerReceiver (BroadcastReceiver, IntentFilter).

    : – кроме этого, как sendBroadcast (Intent).

    sendbroadcast() – обычное вещание, но мы также можем установить приоритет.

    sendstickybroadcast() – намерение, пройденное с этим, будет палкой для будущих пользователей, которые регистрируются через код (динамические приемники). Трансляция, которая будет прикрепляться к андроиду, и будет передаваться или повторно транслироваться в будущие запросы от любых широковещательных приемников

    Когда кто-то отправляет липкую трансляцию, используя sendstickyBroadcast(intent); то эта трансляция будет доступна для будущих пользователей, которые используют динамические приемники.

    Но теперь вы не должны использовать sendStickyBroadcast() который устарел

    Из документации для Android:

    Этот метод был устаревшим на уровне API 21. Приличные трансляции не должны использоваться. Они не обеспечивают никакой безопасности (любой может получить к ним доступ), никакой защиты (любой может их изменить) и многих других проблем. Рекомендуемый шаблон – использовать нелипкую трансляцию для сообщения о том, что что-то изменилось, а другой механизм для приложений, чтобы получать текущее значение, когда это необходимо

    Надеюсь, это поможет.

    Interesting Posts

    Реализация -hash / -isEqual: / -isEqualTo …: для коллекций Objective-C

    Происходит сбой Windows Explorer при открытии USB или сетевого диска

    Как отсоединить папку «Мои документы» от учетной записи OneDrive?

    Как я могу получить доступ к теневой глобальной переменной в C?

    Загрузите файл через HTTP-форму через MultipartEntityBuilder с индикатором выполнения

    Как я могу сделать ComboBox недоступным для редактирования в .NET?

    Как я могу опробовать файлы, сокеты или дескрипторы для чтения / записи в Haskell?

    межпоточная связь в java

    Как работают векторные изображения в Xcode (т.е. pdf-файлы)?

    Как связать изображения в файле jar

    Как открыть приложение при запуске X session

    Как улучшить производительность графики DataGridView?

    Получить все элементы управления определенного типа

    Как создать случайное число в Bash?

    webpack не может найти модуль, если файл с именем jsx

    Давайте будем гением компьютера.