Сборник тестов: 1500 вопросов и ответов на знание Android
Шрифт:
<intent-filter>
<action android: name=«intent. action. BOOT_COMPLETED»/>
</intent-filter>
</broadcastreceiver>
Вопрос 40
В чем разница между sendbroadcast , sendorderedbroadcast , sendstickybroadcast ?
sendbroadcast – нормальное вещание.
sendorderedbroadcast – мы можем установить приоритет.
sendstickybroadcast – намерение передается для будущих пользователей.
sendbroadcast –
sendorderedbroadcast – мы можем установить приоритет и установить результат. Не может блокировать вещание.
sendstickybroadcast – намерение передается для будущих пользователей.
sendbroadcast – нормальное вещание.
sendorderedbroadcast – мы можем установить приоритет и установить результат. Может блокировать вещание.
sendstickybroadcast – намерение передается для будущих пользователей.
sendbroadcast – нормальное вещание, но также мы можем установить приоритет.
sendorderedbroadcast – мы можем установить приоритет и установить результат. Может блокировать вещание.
sendstickybroadcast – переданное намерение будет доступно только один раз.
Вопрос 41
Каким является жизненный цикл широковещательного приемника в Android?
onReceive
onCreate – > onReceive
onCreate – > onReceive – > onDestroy
onReceive – > onDestroy
Вопрос 42
В каком потоке широковещательный приемник работает?
Worker thread
Kernel thread
Main Thread
Ничего из перечисленного.
Вопрос 43
Чтобы сообщить что-то для пользователя от широковещательного приемника, следует использовать диалоговые окна или уведомлений? Почему?
Использовать диалоговые окна, потому что они более заметны, чем уведомления.
Используйте уведомления, потому что приемник должен закончить свою работу в течение 10 секунд.
Используйте уведомления, потому что показ диалога внезапно может раздражать пользователя.
Используйте и диалоги и уведомления.
Вопрос 44
Как создать широковещательный приемник без регистрации его в файле манифеста?
Каждый компонент должен зарегистрироваться в файле манифеста.
Мы можем зарегистрировать приемник динамически в коде с помощью registerReceiver.
Мы можем зарегистрировать приемник статически в коде.
Каждый компонент должен зарегистрироваться в файле манифеста, потому что без фильтра намерений не возможно запустить код.
Вопрос 45
Как отправить BATTERY_LOW трансляцию? Нужно использовать sendbroadcast или sendstickybroadcast? Почему?
Используйте sendBroadCast , потому что
Использовать sendStickyBroadCast , потому что логически эта трансляция должна быть доступна для будущих пользователей.
Мы можем использовать оба метода.
Использовать sendOrderedBroadcast , потому что трансляция должна быть упорядочена должным образом.
Вопрос 46
Как установить сигнал для срабатывания после двух дней? Предположим, что пользователь может выключить телефон в промежутке.
Используйте AlarmManager и вызов set , чтобы установить сигнал после 2 дней. Даже если телефон выключается все сработает.
Используйте AlarmManager и вызов set , чтобы установить сигнал после 2 дней. Если телефон будет выключен, все сигналы тревоги будут отменены. Так что это не возможно.
Используйте AlarmManager и вызов set , чтобы установить сигнал после 2 дней. Если телефон будет выключен, все сигналы тревоги будут отменены. Поэтому до выключения сохранять все детали сигнала в базе данных и воссоздать сигнал после включения.
Используйте AlarmManager и вызов set , чтобы установить сигнал после 2 дней. Даже если телефон выключается все сработает, потому что, когда телефон выключается все сигналы отменяются, но когда телефон включается, Android вновь создает сигналы автоматически.
Вопрос 47
Как сделать так, чтобы запускать широковещательный приемник, только если моя активность находится в памяти?
Отправить трансляцию только тогда, когда ваша активность жива.
Регистрировать динамически приемник в этой активности.
Регистрировать статически приемник в файле манифеста.
Этого невозможно достичь.
Вопрос 48
Как сделать так, чтобы приемник срабатывал сразу после загрузки.
<uses-permission android: name=«android. permission. RECEIVE_BOOT_COMPLETED»> </uses-permission>
<receiver android: name=«BroadcastReceiver»>
<intent-filter>
<action android: name=«android. intent. action. BOOT_COMPLETED»> </action>
</intent-filter>
</receiver>
<receiver android: name=«BroadcastReceiver»>
<intent-filter>
<action android: name=«android. intent. action. BOOT_COMPLETED»> </action>
</intent-filter>
</receiver>
<uses-permission android: name=«android. permission. RECEIVE_BOOT_COMPLETED»> </uses-permission>
<receiver android: name=«BroadcastReceiver»>
<intent-filter>
<action android: name=«Intent. BOOT_COMPLETED»> </action>