16

Android 文档将 Intent 定义为“包含要执行的操作的抽象描述的信息包”。这表明如果需要,您应该能够多次重用单个 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)在代码中的多个地方调用?如果两次启动相同的意图会发生什么?

4

1 回答 1

15

当你想用它来做完全相同的事情时,它是完全安全的,因为它Intent只不过是一堆数据和指令。如果您想将相同的Intent对象用于不同的目的(例如,您有一堆选项卡并尝试设置选项卡重用相同的意图但更改它们将启动的活动)您必须更加小心,我会建议为每个重新创建一个新Intent对象。

于 2013-04-29T18:14:48.107 回答