离子浏览器平台条形码扫描仪“输入条形码值”问题

问题描述

我有一个 ionic 5浏览器平台应用。 ı内置条形码阅读器。当ı从手机打开浏览器并打开条形码扫描器页面时,它会触发“输入条形码值” 文本输入,而不是打开相机进行扫描。当ı在我的手机中为android进行相同的处理时,它就可以正常工作。在官方文档中,他们说支持它的浏览器,但是似乎没有。。有没有人有任何想法,请帮助,以及下面的我的代码

我的应用模块:

import { NgModule,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { browserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { FormsModule,ReactiveFormsModule } from '@angular/forms';
import { IonicModule,IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { HttpClientModule } from '@angular/common/http';
import { MatIconModule } from '@angular/material/icon';
import { browserAnimationsModule } from '@angular/platform-browser/animations';
import { CommonModule } from '@angular/common';
import { HTTP } from '@ionic-native/http/ngx';
import { NativeStorage } from '@ionic-native/native-storage/ngx';
import { IonicStorageModule } from '@ionic/storage';
import { HttpService } from './services/http.service';
import { Geolocation } from '@ionic-native/geolocation/ngx';
import {MatInputModule} from '@angular/material/input';
import {MatCardModule} from '@angular/material/card';
import {MatSelectModule} from '@angular/material/select';
import {MatDialogModule} from '@angular/material/dialog';
import {  HttpClient } from '@angular/common/http';
import { TranslateModule,TranslateLoader } from '@ngx-translate/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { PhotoViewer } from '@ionic-native/photo-viewer/ngx';
import { NgxMaskModule,IConfig } from 'ngx-mask'
import { Onesignal } from '@ionic-native/onesignal/ngx';
import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';

const maskConfig: Partial<IConfig> = {
  validation: false,};
export function HttpLoaderFactory(http: HttpClient) {
  return new TranslateHttpLoader(http,"./assets/i18n/",".json");
}

@NgModule({
  declarations: [AppComponent],entryComponents: [],schemas:[CUSTOM_ELEMENTS_SCHEMA],imports: [
    browserModule,IonicModule.forRoot(),AppRoutingModule,HttpClientModule,NgxMaskModule.forRoot(maskConfig),MatIconModule,IonicStorageModule.forRoot(),FormsModule,CommonModule,browserAnimationsModule,MatInputModule,MatCardModule,MatSelectModule,MatDialogModule,ReactiveFormsModule,TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,useFactory: (HttpLoaderFactory),deps: [HttpClient]
      }
    })

  ],providers: [
    StatusBar,SplashScreen,{ provide: RouteReuseStrategy,useClass: IonicRouteStrategy },HTTP,Geolocation,NativeStorage,HttpService,PhotoViewer,Onesignal,BarcodeScanner
  
    
  ],bootstrap: [AppComponent]
})
export class AppModule { }

我要扫描的组件:

import { Component,OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx';
import { StorageService } from 'src/app/services/storage.service';

@Component({
  selector: 'app-barcode-scanner',templateUrl: './barcode-scanner.page.html',styleUrls: ['./barcode-scanner.page.scss'],})
export class BarcodeScannerPage  {

  constructor(private barcodeScanner: BarcodeScanner,private storageService: StorageService,private router: Router) { }

  ionViewDidEnter() {
    this.barcodeScanner.scan().then(barcodeData => {
      var str = barcodeData.text
      this.storageService.getItem("LangID").then(res=>{
       var str2 = str.concat(";LangID="+JSON.stringify(res))
       this.router.navigateByUrl(str2)
      })
     }).catch(err => {
         console.log('Error',err);
     });
  }
}

我的屏幕截图

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)