diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 00cd27b..af31217 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -8,6 +8,7 @@ import android.content.ServiceConnection import android.graphics.Color import android.os.Bundle +import android.os.CountDownTimer import android.os.Handler import android.os.IBinder import android.os.Message @@ -53,6 +54,7 @@ import com.clj.fastble.callback.BleScanCallback import com.clj.fastble.callback.BleWriteCallback import com.clj.fastble.data.BleDevice +import com.clj.fastble.data.BleScanState import com.clj.fastble.exception.BleException import com.clj.fastble.scan.BleScanRuleConfig import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -374,9 +376,22 @@ } else { //搜索蓝牙 val bluetoothDevices = ArrayList() + var scanCountDownTimer: CountDownTimer? = null bleManager.scan(object : BleScanCallback() { override fun onScanStarted(success: Boolean) { LoadingDialogHub.show(requireActivity(), "设备搜索中...") + scanCountDownTimer = object : CountDownTimer(10 * 1000L, 1000) { + override fun onTick(millisUntilFinished: Long) { + + } + + override fun onFinish() { + Log.d(kTag, "scanCountDownTimer onFinish: ${bleManager.scanSate}") + if (bleManager.scanSate == BleScanState.STATE_IDLE) { + bleManager.cancelScan() + } + } + }.start() } override fun onScanning(bleDevice: BleDevice) { @@ -384,7 +399,9 @@ } override fun onScanFinished(scanResultList: List) { + Log.d(kTag, "scan onScanFinished: ") LoadingDialogHub.dismiss() + scanCountDownTimer?.cancel() if (bluetoothOn) { scanResultList.forEach { diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt index 00cd27b..af31217 100644 --- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt @@ -8,6 +8,7 @@ import android.content.ServiceConnection import android.graphics.Color import android.os.Bundle +import android.os.CountDownTimer import android.os.Handler import android.os.IBinder import android.os.Message @@ -53,6 +54,7 @@ import com.clj.fastble.callback.BleScanCallback import com.clj.fastble.callback.BleWriteCallback import com.clj.fastble.data.BleDevice +import com.clj.fastble.data.BleScanState import com.clj.fastble.exception.BleException import com.clj.fastble.scan.BleScanRuleConfig import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -374,9 +376,22 @@ } else { //搜索蓝牙 val bluetoothDevices = ArrayList() + var scanCountDownTimer: CountDownTimer? = null bleManager.scan(object : BleScanCallback() { override fun onScanStarted(success: Boolean) { LoadingDialogHub.show(requireActivity(), "设备搜索中...") + scanCountDownTimer = object : CountDownTimer(10 * 1000L, 1000) { + override fun onTick(millisUntilFinished: Long) { + + } + + override fun onFinish() { + Log.d(kTag, "scanCountDownTimer onFinish: ${bleManager.scanSate}") + if (bleManager.scanSate == BleScanState.STATE_IDLE) { + bleManager.cancelScan() + } + } + }.start() } override fun onScanning(bleDevice: BleDevice) { @@ -384,7 +399,9 @@ } override fun onScanFinished(scanResultList: List) { + Log.d(kTag, "scan onScanFinished: ") LoadingDialogHub.dismiss() + scanCountDownTimer?.cancel() if (bluetoothOn) { scanResultList.forEach { diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt index 32d25fc..8a08161 100644 --- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt +++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt @@ -8,6 +8,7 @@ import android.content.ServiceConnection import android.graphics.Color import android.os.Bundle +import android.os.CountDownTimer import android.os.Handler import android.os.IBinder import android.os.Message @@ -48,6 +49,7 @@ import com.clj.fastble.callback.BleScanCallback import com.clj.fastble.callback.BleWriteCallback import com.clj.fastble.data.BleDevice +import com.clj.fastble.data.BleScanState import com.clj.fastble.exception.BleException import com.clj.fastble.scan.BleScanRuleConfig import com.pengxh.kt.lite.base.KotlinBaseFragment @@ -321,9 +323,22 @@ } else { //搜索蓝牙 val bluetoothDevices = ArrayList() + var scanCountDownTimer: CountDownTimer? = null bleManager.scan(object : BleScanCallback() { override fun onScanStarted(success: Boolean) { LoadingDialogHub.show(requireActivity(), "设备搜索中...") + scanCountDownTimer = object : CountDownTimer(10 * 1000L, 1000) { + override fun onTick(millisUntilFinished: Long) { + + } + + override fun onFinish() { + Log.d(kTag, "scanCountDownTimer onFinish: ${bleManager.scanSate}") + if (bleManager.scanSate == BleScanState.STATE_IDLE) { + bleManager.cancelScan() + } + } + }.start() } override fun onScanning(bleDevice: BleDevice) { @@ -331,7 +346,9 @@ } override fun onScanFinished(scanResultList: List) { + Log.d(kTag, "scan onScanFinished: ") LoadingDialogHub.dismiss() + scanCountDownTimer?.cancel() if (bluetoothOn) { scanResultList.forEach {