重用意图是否安全?

时间:2013-04-29 17:53:19

标签: android android-intent

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)?如果相同的意图开始两次会发生什么?

1 个答案:

答案 0 :(得分:12)

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