¿Qué debo hacer si el código QR está lejos, es reflectante o está bloqueado? No se preocupe, el kit HMS Scan de Huawei lo hará todo por usted

Prefacio

  Hace unos días, el editor terminó de comprar y se preparó para conducir feliz a casa. El resultado fue bloqueado por el código QR del garaje. La distancia era demasiado grande para ser reconocida. El dueño del auto detrás seguía insistiendo, lo que me molestó mucho. Después de regresar a casa me quejé con mis amigos, no encontré consuelo, me uní a la fuerza a una queja a gran escala sobre el reflejo y la oclusión del código QR.

  ¿No se ha utilizado la función de escaneo de códigos durante mucho tiempo? ¿Por qué hay tantas preguntas?

  Más tarde, vi accidentalmente una introducción sobre el kit HMS Scan de Huawei en Internet. El editor siguió el artículo y descubrió que el APK se puede descargar en el sitio web de Huawei Developer Alliance, y rápidamente probé el efecto. El kit de escaneo HMS de Huawei es realmente poderoso y puede resolver fácilmente escenarios de escaneo complejos como largas distancias, reflejos, daños y oclusiones.

Mostrar resultados

Distancia del código de
Inserte la descripción de la imagen aquí
escaneo
Inserte la descripción de la imagen aquí
daño del código de escaneo retrorreflectivo , el código de escaneo del obturador
Inserte la descripción de la imagen aquí

  El editor descubrió que el kit de escaneo HMS de Huawei también puede escanear códigos en cualquier ángulo, escanear códigos en superficies curvas y reconocer varios códigos al mismo tiempo. Admite 13 códigos principales globales, que pueden satisfacer completamente las necesidades de varios escenarios como la vida y el trabajo.

  Puede hacer clic en el enlace de abajo para experimentarlo usted mismo:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Examples-V5/android-sample-code-0000001050734383-V5

  Aquí viene el punto: ¿cómo puedo obtener una función de servicio de escaneo tan útil y poderosa?

  No te preocupes, el editor ya ha movido el proceso de desarrollo para todos, ¡ven e integra!

Combate de desarrollo

1 Configurar AppGallery Connect

  Antes de desarrollar una aplicación, debe configurar la información relevante en AppGallery Connect. incluir:

  • Regístrese como desarrollador.
  • Crea una aplicación.

  No hay mucha introducción aquí, puede consultar el sitio web oficial para su funcionamiento:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-get-started#createproject

2 Integrar HMS Core SDK

2.1 Agregar el perfil de AppGallery Connect de la aplicación actual

  Si ha activado servicios relacionados en AppGallery Connect, debe agregar el archivo "agconnect-services.json" a su aplicación.

  1. Inicie sesión en el sitio web de AppGallery Connect y haga clic en "Mi proyecto".

  2. Busque su proyecto en la lista de proyectos y haga clic en la aplicación que necesita integrar HMS Core SDK en el proyecto.

  3. En el área "Aplicación" de la página "Configuración del proyecto> General", haga clic en "agconnect-services.json" para descargar el archivo de configuración.

  4. Copie el archivo "agconnect-services.json" en el directorio raíz del nivel de la aplicación.
Inserte la descripción de la imagen aquí

2.2 Configurar la dirección del almacén de Maven de HMS Core SDK
  1. Abra el archivo "build.gradle" de nivel de proyecto de Android Studio.
Inserte la descripción de la imagen aquí

  2. Agregue el complemento agcp de HUAWEI y la base de código Maven.

  • Configure la dirección del repositorio de Maven de HMS Core SDK en "allprojects> repositories".
  • Configure la dirección del repositorio de Maven del HMS Core SDK en "buildscript> repositories".
  • Si el archivo "agconnect-services.json" se agrega a la aplicación, debe agregar la configuración agcp en "buildscript> dependencias".
buildscript {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
    dependencies {
        ...
        classpath 'com.huawei.agconnect:agcp:1.3.1.300'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

Nota: La dirección del almacén de Maven no se puede abrir y acceder directamente en el navegador, y solo se puede configurar en el IDE. Si necesita agregar varias bibliotecas de códigos Maven, configure la dirección del almacén Maven de Huawei al final.
2.3 Agregar dependencias de compilación
1. Abra el archivo "build.gradle" de nivel de proyecto de Android Studio.
Inserte la descripción de la imagen aquí

2. Cotizar SDK.
Huawei Scan Kit ofrece dos SDK, la versión normal y la versión plus. La versión plus funciona mejor en teléfonos que no son de Huawei, pero el SDK es un poco más grande. Puede elegir el SDK adecuado según sus necesidades y completar el número de versión real del SDK para la versión.

Por ejemplo, para usar Scan Kit SDK, agregue las siguientes dependencias de compilación en "dependencias", {versión} debe reemplazarse con la versión actual del SDK: deployment'com.huawei.hms: scan: 1.2.2.300 '.

dependencies{
  implementation 'com.huawei.hms:scan:1.2.2.300'
 }

3. Agregue la siguiente configuración en la siguiente línea del encabezado del archivo Apply Plugin: 'com.android.application'.
2.4 Sincronizar el proyecto
  Después de completar la configuración anterior, haga clic en el icono de sincronización de Gradle en la barra de herramientas para completar la sincronización del archivo "build.gradle" y descargar las dependencias relevantes al local.
Inserte la descripción de la imagen aquí

3 Agregar permisos

1. Al llamar al kit de exploración, el desarrollador debe especificar los permisos correspondientes en el manifiesto.
  Para crear la función de código de escaneo de la cámara, debe solicitar "CAMERA" (permiso de la cámara); para crear la función de código de escaneo de la imagen importada, debe solicitar "READ_EXTERNAL_STORAGE" (permiso de lectura de archivo).

<!--相机权限-->
<uses-permission android:name="android.permission.CAMERA" />
<!--读文件权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--使用特性-->
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

2. Después de especificar los permisos en el manifiesto, debe solicitar dinámicamente los permisos en el código.

//CAMERA_REQ_CODE为用户自定义,用于接收权限校验结果 
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE}, CAMERA_REQ_CODE);

3. Verifique si la autoridad correspondiente está habilitada y decida si continuar escaneando el código.

//实现“onRequestPermissionsResult”函数接收校验权限结果
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    //判断“requestCode”是否为申请权限时设置请求码CAMERA_REQ_CODE,然后校验权限开启状态
    if (requestCode == CAMERA_REQ_CODE && grantResults.length == 2 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
        //调用扫码接口,构建扫码能力,需开发者实现
        ...
    }
}

4 Desarrollo de aplicaciones

  El kit de escaneo HMS de Huawei proporciona cuatro métodos de llamada: modo de vista predeterminado, modo de vista personalizado, modo de mapa de bits y modo de procesador múltiple.Los desarrolladores pueden crear funciones de escaneo de código de acuerdo con sus necesidades.

  El editor aquí presenta el proceso de desarrollo del modo de vista personalizado.
1. Personalice los elementos de la página de códigos de escaneo.
(1) El título personalizado
define la información de texto como variable de "título".

<TextView 
    android:layout_marginStart="10sp" 
    android:layout_toEndOf="@+id/back_img" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_vertical" 
    android:text="@string/title" 
    android:textAllCaps="false" 
    android:textColor="#FFFFFF" 
    android:textSize="20sp" 
    android:textStyle="bold" />

(2) Personaliza el botón de retorno

Defina la vista de página con id "back_img" y vincule la operación de clic para regresar.

(3) Botón de flash personalizado

Defina la vista de página del botón flash y vincule las operaciones de apertura y cierre.

(4) Interfaz de código de escaneo personalizado

Dibuja un cuadro de código de escaneo.

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <ImageView 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_centerInParent="true" 
        android:layout_centerHorizontal="true" 
        android:background="#FF000000" 
        android:alpha="0.1" /> 
    <TextView 
        android:layout_marginTop="225dp" 
        android:layout_centerHorizontal="true" 
        android:text="@string/scan_tip" 
        android:textAllCaps="false" 
        android:textColor="#FFFFFF" 
        android:textSize="15sp" 
        android:textStyle="bold" 
        android:layout_height="20dp" 
        android:layout_width="220dp" /> 
    <!-- 设置扫码框--> 
    <ImageView 
        android:layout_width="300dp" 
        android:layout_height="300dp" 
        android:layout_centerInParent="true" 
        android:layout_centerHorizontal="true" 
        android:background="@drawable/cloors" /> 
</RelativeLayout>

2. Realice la función de código de escaneo de la cámara a través de la vista personalizada.
(1) Cree una vista remota y cárguela en el diseño de actividad.
(2) Establezca el monitoreo de devolución de llamada de resultado en la Vista remota y obtenga el HMS Scan, el objeto de resultado del escaneo.

@Override
protected void onCreate(Bundle savedInstanceState) {
    …
    //识别结果回调事件订阅 
    remoteView.setOnResultCallback(new OnResultCallback() { 
        @Override 
        public void onResult(HmsScan[] result) { 
            //获取到扫码结果HmsScan
            showResult(result); 
        } 
    });
}

Observaciones finales

  Confiando en las poderosas capacidades de Huawei en el campo de la visión por computadora, el kit de escaneo de Huawei admite la detección y amplificación automática de códigos de larga distancia y códigos pequeños, maneja de manera efectiva escenarios de escaneo complejos como reflexión, oclusión, desfiguración y desenfoque, y es compatible con la integración de sistemas Android e iOS para ayudar a los desarrolladores Cree rápidamente servicios relacionados para mejorar la experiencia de escaneo del usuario y la tasa de éxito.

  El código de muestra de Scan Kit se ha abierto en Github: https://github.com/HMS-Core/hms-scan-demo

Para obtener pautas de desarrollo más detalladas, consulte el sitio web oficial de Huawei Developer Alliance

https://developer.huawei.com/consumer/cn/hms/huawei-scankit
Para obtener más detalles, consulte:

Sitio web oficial de Huawei Developer Alliance:https://developer.huawei.com/consumer/cn/hms

Obtenga documentos de orientación de desarrollo:https://developer.huawei.com/consumer/cn/doc/development

Para participar en las discusiones de los desarrolladores, vaya a la comunidad de Reddit:https://www.reddit.com/r/HMSCore/

Para descargar la demostración y el código de muestra, vaya a Github:https://github.com/HMS-Core

Para resolver problemas de integración, vaya a Stack Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest


Enlace original: https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202356605936130805&fid=18
Autor: saluda

Supongo que te gusta

Origin blog.51cto.com/14772288/2539210
Recomendado
Clasificación