如何使用HMS附近服务为您的APP开发名片交换功能?

电脑杂谈  发布时间:2020-06-28 21:16:43  来源:网络整理

识别sdk_名片识别sdk_手写识别sdk

在工作和生活中,结识新同事或合伙人时,交换名片是用户的常见需求. 纸制名片经常被遗忘并且容易丢失,这是客户的痛点. 因此,市场上出现了许多用于交换电子名片的应用程序和小程序. 那么名片识别sdk,如何为自己的APP开发名片交换功能?

在这里插入图片描述

识别sdk_手写识别sdk_名片识别sdk

我们可以访问华为的短距离通信服务,并通过近距离消息在短距离设备之间快速交换或一对多名片. 下图为功能演示:

在这里插入图片描述

手写识别sdk_名片识别sdk_识别sdk

如果对实现方法感兴趣,可以转到Github下载源代码,可以根据特定的应用场景进行优化.

Github演示下载地址:

识别sdk_名片识别sdk_手写识别sdk

具体的开发步骤如下:

如果您已经是华为开发人员,则可以省略此步骤. 如果您以前没有集成华为移动服务的经验,则需要先配置AppGallery Connect,激活短距离通信服务,然后集成HMS SDK. 有关相关步骤,请参阅官方文档.

名片识别sdk_手写识别sdk_识别sdk

在使用附近消息之前名片识别sdk,您需要添加网络权限,蓝牙权限和位置权限. 在项目的AndroidManifest.xml文件中添加以下权限:

<uses-permission android:name="android.permission.INTERNET " />
 <uses-permission android:name="android.permission.BLUETOOTH" />
 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
 <!-- The location permission is also required in Android 6.0 or later. -->
 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

检查蓝牙开关和位置开关是否打开,网络是否可用,并申请动态许可以获取位置许可

@Override
 public void onStart() {
     super.onStart();
     getActivity().getApplication().registerActivityLifecycleCallbacks(this);
     checkPermission();
 }
  
 @Override
 public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
     for (int i = 0; i < permissions.length; ++i) {
         if (grantResults[i] != 0) {
             showWarnDialog(Constants.LOCATION_ERROR);
         }
     }
 }
  
 private void checkPermission() {
     if (!BluetoothCheckUtil.isBlueEnabled()) {
         showWarnDialog(Constants.BLUETOOTH_ERROR);
         return;
     }
  
     if (!LocationCheckUtil.isLocationEnabled(this.getActivity())) {
         showWarnDialog(Constants.LOCATION_SWITCH_ERROR);
         return;
     }
  
     if (!NetCheckUtil.isNetworkAvailable(this.getActivity())) {
         showWarnDialog(Constants.NETWORK_ERROR);
         return;
     }
  
     String[] deniedPermission = PermissionUtil.getDeniedPermissions(this.getActivity(), new String[] {
             Manifest.permission.ACCESS_COARSE_LOCATION,
             Manifest.permission.ACCESS_FINE_LOCATION
     });
     if (deniedPermission.length > 0) {
         PermissionUtil.requestPermissions(this.getActivity(), deniedPermission, 10);
     }
 }

订阅名片消息(onFound),将名片添加到用于查找名片的对话框中;当名片消息丢失(丢失)时,请从名片搜索对话框中删除名片


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-261609-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...