Можно ли повторно использовать намерение?
Документы 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)
в нескольких местах в коде? Что произойдет, если одно и то же намерение запускается дважды?
Ответы
Ответ 1
Это абсолютно безопасно, если вы хотите использовать его для выполнения той же самой вещи, поскольку Intent
- это не более, чем куча данных и инструкций. Если вы хотите использовать один и тот же объект Intent
для разных целей (например, у вас есть куча вкладок и пытайтесь установить вкладки, повторно использующие одно и то же намерение, но изменяя активность, которую они запускают), вы должны быть более осторожными и Я рекомендую повторно создать новый объект Intent
для каждого.