重用意图安全吗?

2024-02-24

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)在代码的多个地方?如果同一个意图启动两次会发生什么?


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重用意图安全吗? 的相关文章

随机推荐