diff --git a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt index 522e9f6..bf3ccb9 100644 --- a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt +++ b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt @@ -457,6 +457,7 @@ class MainActivity : BaseActivity() { // 3. 关闭相关资源 imageCapture = null imageAnalysis = null + cameraProviderFuture = null // 4. 停止副屏更新 isAnalyzing = false @@ -555,6 +556,10 @@ class MainActivity : BaseActivity() { override fun onResume() { super.onResume() isPageVisible = true + // shutdownCamera 后 cameraProviderFuture 置为 null,需重新初始化相机 + if (cameraProviderFuture == null) { + setupCamera() + } // 启动定时器 handler.postDelayed(timeoutRunnable, TIME_OUT) // ToastUtils.showToast("isPageVisible=$isPageVisible") @@ -797,7 +802,7 @@ class MainActivity : BaseActivity() { userId = null, ) { isRefreshPage = false - //presentation?.dismiss() + shutdownCamera() startActivity(Intent(this, PayActivity::class.java).apply { putExtra(PayActivity.FOOD_INFO, checkedItem!!) putExtra(PayActivity.FOOD_EAT_NUM, eatNum) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ab75124..92c874c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ material = "1.10.0" activity = "1.8.0" constraintlayout = "2.1.4" accompanistPermissions = "0.37.3" -cameraCore = "1.3.0" +cameraCore = "1.4.1" retrofit = "3.0.0" okhttp = "4.12.0" timber = "5.0.1"