java.lang.NoSuchMethodError: No virtual method createSurfaceProvider()Landroidx/camera/core/Preview$SurfaceProvider; in class Landroidx/camera/view/PreviewView; or its super classes (declaration of 'androidx.camera.view.PreviewView' appears in /data/app/~~gLkW3jCy91FTYmJBXhuefQ==/com.gonnaorder.go-s67UwLFqnVi42n1i9v0L0w==/base.apk)
at cl.kgames.capacitorbarcodescanner.ScannerActivity.bindPreviewUseCase(ScannerActivity.kt:167)
at cl.kgames.capacitorbarcodescanner.ScannerActivity.bindCameraUseCases(ScannerActivity.kt:180)
at cl.kgames.capacitorbarcodescanner.ScannerActivity.setupCamera$lambda-1(ScannerActivity.kt:142)
at cl.kgames.capacitorbarcodescanner.ScannerActivity.$r8$lambda$7SkYR1iJxqrLJyIgcKx9cVr_wUo(Unknown Source:0)
at cl.kgames.capacitorbarcodescanner.ScannerActivity$$ExternalSyntheticLambda5.onChanged(Unknown Source:4)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at cl.kgames.capacitorbarcodescanner.CameraXViewModel._getprocessCameraProvider$lambda-0(CameraXViewModel.kt:26)
at cl.kgames.capacitorbarcodescanner.CameraXViewModel.$r8$lambda$_o7-CLxb_9E0Zs6WvX8cBOoWwk4(Unknown Source:0)
at cl.kgames.capacitorbarcodescanner.CameraXViewModel$$ExternalSyntheticLambda0.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7872)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
here is my code : Used multiscan because it will stop after specific amout of time and scan keeps on scanning thats why(no stop scan option for it idk why please implement it devs a humble request)
async onClickCamera() {
const status = await BarcodeScanner.multiScan( {maxScans: 1} );
console.log(status);
console.log(status.codes);
let urlScanned :any = status.codes;
urlScanned = urlScanned.replace(/^https?:\/\//, '').split('#')[0].replace('/', '');
const store_alias = urlScanned.indexOf('.') < 0 ? urlScanned : urlScanned.split('.')[0];
if (URL_REGEXP.test(urlScanned) && (urlScanned.endsWith(backend-domain) && STOREALIAS_REGEXP.test(store_alias)) ||
(!urlScanned.includes(".") && !urlScanned.includes("/"))) {
this.store.dispatch(new SaveStoreByAlias(store_alias, https://${store_alias}.${backend-domain}, StoreSaveMode.QRSCAN));
this.actions$.pipe(
ofType(StoreActionType.SaveStoreByAliasSuccess),
filter(action => action.saveMode === StoreSaveMode.QRSCAN),
take(1),
).subscribe(action => {
this.zone.run(() => {
this.storeAlias = action.storeAlias;
if (this.storeAlias) {
this.store.dispatch(new SetMobileStore(this.storeAlias));
this.router.navigate(url);
}
});
});
}
java.lang.NoSuchMethodError: No virtual method createSurfaceProvider()Landroidx/camera/core/Preview$SurfaceProvider; in class Landroidx/camera/view/PreviewView; or its super classes (declaration of 'androidx.camera.view.PreviewView' appears in /data/app/~~gLkW3jCy91FTYmJBXhuefQ==/com.gonnaorder.go-s67UwLFqnVi42n1i9v0L0w==/base.apk) at cl.kgames.capacitorbarcodescanner.ScannerActivity.bindPreviewUseCase(ScannerActivity.kt:167) at cl.kgames.capacitorbarcodescanner.ScannerActivity.bindCameraUseCases(ScannerActivity.kt:180) at cl.kgames.capacitorbarcodescanner.ScannerActivity.setupCamera$lambda-1(ScannerActivity.kt:142) at cl.kgames.capacitorbarcodescanner.ScannerActivity.$r8$lambda$7SkYR1iJxqrLJyIgcKx9cVr_wUo(Unknown Source:0) at cl.kgames.capacitorbarcodescanner.ScannerActivity$$ExternalSyntheticLambda5.onChanged(Unknown Source:4) at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133) at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151) at androidx.lifecycle.LiveData.setValue(LiveData.java:309) at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50) at cl.kgames.capacitorbarcodescanner.CameraXViewModel._getprocessCameraProvider$lambda-0(CameraXViewModel.kt:26) at cl.kgames.capacitorbarcodescanner.CameraXViewModel.$r8$lambda$_o7-CLxb_9E0Zs6WvX8cBOoWwk4(Unknown Source:0) at cl.kgames.capacitorbarcodescanner.CameraXViewModel$$ExternalSyntheticLambda0.run(Unknown Source:4) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7872) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
here is my code : Used multiscan because it will stop after specific amout of time and scan keeps on scanning thats why(no stop scan option for it idk why please implement it devs a humble request) async onClickCamera() { const status = await BarcodeScanner.multiScan( {maxScans: 1} ); console.log(status); console.log(status.codes); let urlScanned :any = status.codes; urlScanned = urlScanned.replace(/^https?:\/\//, '').split('#')[0].replace('/', ''); const store_alias = urlScanned.indexOf('.') < 0 ? urlScanned : urlScanned.split('.')[0]; if (URL_REGEXP.test(urlScanned) && (urlScanned.endsWith(backend-domain) && STOREALIAS_REGEXP.test(store_alias)) || (!urlScanned.includes(".") && !urlScanned.includes("/"))) { this.store.dispatch(new SaveStoreByAlias(store_alias,(StoreActionType.SaveStoreByAliasSuccess),
filter(action => action.saveMode === StoreSaveMode.QRSCAN),
take(1),
).subscribe(action => {
this.zone.run(() => {
this.storeAlias = action.storeAlias;
if (this.storeAlias) {
this.store.dispatch(new SetMobileStore(this.storeAlias));
this.router.navigate(url);
}
});
});
}
https://${store_alias}.${backend-domain}
, StoreSaveMode.QRSCAN)); this.actions$.pipe( ofType