Документы Android определяют намерение как «пакет информации, содержащий абстрактное описание выполняемой операции». Это говорит о том, что вы должны иметь возможность повторно использовать один объект Intent несколько раз, если это необходимо, но я не видел примеров, показывающих, что это случай/безопасен. Есть ли причина, чтобы не сделать следующее:Можно ли повторно использовать намерение?
private final Intent enableBluetoothIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
...
protected void onCreate(Bundle savedInstanceState) {
enabledBluetoothIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
...
}
, а затем вызвать startActivityForResult(enableDiscoverableIntent, REQUEST_ENABLE_BT_DISCOVERY)
в нескольких местах в коде? Что произойдет, если одно и то же намерение начнется дважды?
Каков пример того, когда вы будете использовать «намерение»? Иногда я создаю объект «Intent», а затем использую его в разных местах в «Деятельности» в зависимости от того, какие условия выполняются и когда. Не знаю, помогает ли это вообще ... – codeMagic
В моем примере запрашивается доступ к Bluetooth, который запускает всплывающее окно с просьбой подтвердить или отклонить Bluetooth. Это может произойти в нескольких разных местах. Если мы используем намерение, и bluetooth включается успешно, но затем Bluetooth отключается в другом месте, мы хотим запросить его снова. Использование одного и того же объекта кажется самым чистым, так как мы просто хотим отправить тот же запрос. – maria1nes
Это кажется мне разумным, и я не вижу никаких проблем. Однако в некоторых ситуациях вы можете использовать флаги Intent для выполнения таких задач, как очистка любых похожих задач, которые были запущены из этого «Intent» из стека – codeMagic