gpt4 book ai didi

android - 如何在设备方向改变时停止再次调用 Activity?

转载 作者:行者123 更新时间:2023-11-29 16:13:46 24 4
gpt4 key购买 nike

我的应用使用条码扫描器。我想在打开应用程序时启动扫描仪,所以我将它放在 onCreate 方法中。问题是,如果我有这样的情况,当我打开设备时,它会再次调用 onCreate 并调用另一个扫描仪。

我还有第一个调用扫描仪的 Activity 。它有一个菜单,所以如果用户按回键,它会转到该菜单。如果我打开该菜单上的屏幕,它会再次进入条码扫描仪。

为了解决这个问题,我有一个标志,指示它是否是我第一次调用扫描仪,如果不是,我不会再调用它。现在的问题是,如果我退出应用程序并再次进入,它不会进入扫描仪,而是进入菜单,因为这不是我第一次调用它。

有什么想法吗?当我离开我的主要 Activity 或任何其他解决方案时,有没有办法改变标志?我的代码。

private static boolean first = true;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

integrator = new IntentIntegrator(this);
if (first) {
first = false;
integrator.initiateScan();
}

}

最佳答案

在您的应用程序 manifest.xml 中,将其添加到调用此条码扫描器的 Activity 中

android:configChanges="orientation"

像这样

<activity
android:name=".YourActivity"
android:configChanges="orientation"
android:label="@string/app_name" />

它所做的是,当设备旋转时,它会“什么都不做”,这意味着它不会再次调用该 Activity (最终避免调用 onCreate())

关于android - 如何在设备方向改变时停止再次调用 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11061817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com