android - 超时后关闭扫描仪应用程序/Activity

标签 android zxing

我正在使用 IntentIntegrator 启动扫描仪(QR/条码 - zxing)应用程序。我需要在启动 30 秒后关闭扫描仪应用程序。

扫描仪应用程序通过 startActivityForResult 调用。我想知道是否有办法获取由“startActivityForResult”启动的 Activity 的引用,这样我就可以使用计时器并关闭 Activity 。

Android 专家,请在这里帮助我。

最佳答案

我认为您唯一的选择是修改 ZXing 代码。

当您开始扫描 Activity 时,您应用的 Activity 将转到 onPause(),此时您需要取消计时器,而不是启动新计时器。

另一个想法可能是启动一个服务,该服务启动一个线程,该线程会在 30 秒后终止扫描 Activity ……但是,唉,您无法从服务中终止 Activity 。

ZXing 是开源的,因此您可以将其拉下、修改和重建。有一个名为 InactivityTimer.java 的类,可以对其进行修改以在 x 秒后完成 Activity 。另一种选择可能是将广播接收器添加到扫描 list 中,它将在收到特定 Intent 时完成扫描 Activity 。

基本上,您的包只能在其 list 中定义 finish() Activity 。它无法终止其他包中的 Activity ...由用户或该应用决定何时完成。

关于android - 超时后关闭扫描仪应用程序/Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24319216/

相关文章:

silverlight - 可以在 Silverlight 中使用 zxing(适用于 windows 手机)

ios - 为什么我不能在我的 iOS 应用程序中使用 ZXing(随 CocoaPods 安装)中的 QRCodeReader 类?

android - AAPT:错误:在 <manifest><application> 中发现了意外元素 <uses-permission>

android - Android 版 Air : Black Screen after device-alarm

android - 如何在不使用其他应用程序的情况下在android应用程序中添加条形码扫描并支持最新的android版本?

ios - ZXing QR 阅读器许可问题

android - 如何在 fragment 中有效地重启相机 - Barcode Scanner

android - 如何重新签署调试签名的 apk,以便不压缩 mp3 文件?

java - 如何在 Android 设备中从 Firestore 获取服务器时间戳?

java - 关于android源码中Swithpreference.java中的onBindview()方法