Подтвердить что ты не робот

Можно ли повторно использовать намерение?

Документы 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) в нескольких местах в коде? Что произойдет, если одно и то же намерение запускается дважды?

4b9b3361

Ответ 1

Это абсолютно безопасно, если вы хотите использовать его для выполнения той же самой вещи, поскольку Intent - это не более, чем куча данных и инструкций. Если вы хотите использовать один и тот же объект Intent для разных целей (например, у вас есть куча вкладок и пытайтесь установить вкладки, повторно использующие одно и то же намерение, но изменяя активность, которую они запускают), вы должны быть более осторожными и Я рекомендую повторно создать новый объект Intent для каждого.