通过Xamarin实现东大集成PDA的扫码

news2024/9/21 12:47:13

目录

  • 1、东大集成PDA的扫码说明
  • 2、Xamarin通过广播实现扫码
    • 2.1 PDA的扫码工具设置
    • 2.2 代码实现
      • 2.2.1 主界面
      • 2.2.1 定义广播接收器
      • 2.2.2 在活动页面实现读取
    • 2.3 实现效果
  • 3、demo下载

1、东大集成PDA的扫码说明

东大集成的PDA有两种方式实现设备自带的扫码功能。一种为调用硬件接口方式,另外一种为接收扫描工具广播开发模式。
其中两种方式只能选择一种,不可以在同一个APP中混用。
因此本次使用广播的方式实现东大集成PDA的扫码功能

2、Xamarin通过广播实现扫码

2.1 PDA的扫码工具设置

1、找到PDA上的扫码工具
扫码工具
2、进行应用的设置
扫码设置
3、选择广播的方式
设置广播
4、点击“开发者项”,输入密码:888888
进入开发者选项
5、广播的相关内容,记下来,一会儿再代码中会用到
在这里插入图片描述

2.2 代码实现

2.2.1 主界面

layout/activity_main.xml中添加了一个文本的控件(plain text)
主界面

2.2.1 定义广播接收器

[BroadcastReceiver(Enabled = true)]
[IntentFilter(new[] { "com.android.server.scannerservice.broadcast" })]
public class MySampleBroadcastReceiver : BroadcastReceiver
{
    public string ScannerContent { get; set; } //用于存储扫码结果,并对外提供的
    public override void OnReceive(Context context, Intent intent)
    {
        if(intent.Action.Equals("com.android.server.scannerservice.broadcast"))
        {
            ScannerContent = intent.GetStringExtra("scannerdata"); //读取数据。这个scannerdata,就是开发者项中的键值名称
        }           
    }
}

2.2.2 在活动页面实现读取

MainActivity中实现数据的接收

[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
    MySampleBroadcastReceiver receiver;
    TextView sacnInputText;
    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.activity_main);

        receiver = new MySampleBroadcastReceiver(); //初始化接收器
        receiver.ScannerContent = "默认的初始值";

        sacnInputText = FindViewById<TextView>(Resource.Id.editText1); //初始化控件
    }


    protected override void OnResume()
    {
        base.OnResume();

        try
        {
            RegisterReceiver(receiver, new IntentFilter("com.android.server.scannerservice.broadcast")); //注册接收
            sacnInputText.Text = receiver.ScannerContent;
        }
        catch (Exception e)
        {
            sacnInputText.Text = e.Message;
        }

    }

    protected override void OnPause()
    {
    	//释放资源
        UnregisterReceiver(receiver); 
        // Code omitted for clarity
        base.OnPause();
    }

    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
    {
        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
}

2.3 实现效果

东大集成PDA的扫码功能

3、demo下载

demo下载:提取码:NHZL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13071.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

终极大招~pycharm自动补全opencv代码提示功能

你的pycharm还能自动补全opencv代码提示吗&#xff1f; 你可能通过修改cv2,进入__init__.py文件&#xff0c;一顿操作&#xff0c;还是不行。 你以为是工具问题&#xff0c;卸载重装&#xff1f; 还是opencv卸载重装好几次了 这次分享下我的方案&#xff0c;保证你一看就会。…

人工智能数学基础--概率与统计10:离散随机变量的概率函数及常见的二项分布、泊松分布

一、离散随机变量的概率函数及分布函数 设X为离散随机变量&#xff0c;其全部可能取值为{a1,a2,…}&#xff0c;则&#xff1a;piP(Xai) &nsp&nsp&nsp&nsp (i1,2,…)称为X的概率函数&#xff0c;也称为随机变量X的概率分布&#xff1b; 设X为随机变量&#xf…

【lombok】equals相等返回false contains包含返回false? lombok注解的一个天坑

最近在写代码的时候 遇到个奇怪的问题 使用 list.contains(obj) 方法判断&#xff0c;明明是两个内容一样的对象&#xff0c;却返回了false 这里用伪代码还原一下场景&#xff1a; // 从数据库取的所有数据 List<SysMenuDTO> allList getDataFromDB(); // 一个id等于1…

【Detectron2】代码库学习-3. LazyConfig 配置文件

目录1. 配置文件2. LazyConfig 导入导出3. 递归实例化4. 基于LazyConfig的训练步骤4.1 导入依赖库4.2 日志初始化4.3 训练4.4 评估4.5 训练流程4.6 主函数入口5. TipsDetectron2是Facebook AI Research(FAIR)推出的基于Pytorch的视觉算法开源框架&#xff0c;主要聚焦于目标检测…

进程的通信 - 邮槽

邮槽 邮槽是Windows系统提供的一种单向进程间的通信机制。对于相对简短的地坪率信息发送&#xff0c;使用邮槽通常比命名管道或者Unix域套接字更简单 使用邮槽通信的进程分为服务端和客户端。邮槽由服务端创建&#xff0c;在创建时需要指定邮槽名&#xff0c;创建后服务端得…

PIC单片机-测试例程汇总

内容包括PIC单片机常用外设的测试例程。紫色文字是超链接&#xff0c;点击自动跳转至相关博文。持续更新&#xff0c;原创不易&#xff01;目录&#xff1a;一、端口的定义与while(1)的使用二、延时1、通过语句延时程序&#xff08;带参数&#xff09; 2、通过语句延时程序&…

N3-PEG-NHS,Azide-PEG-NHS,叠氮-聚乙二醇-活性酯可用来修饰蛋白质

一、详情介绍 1、名称 英文&#xff1a;N3-PEG-NHS&#xff0c;Azide-PEG-NHS 中文&#xff1a;叠氮-聚乙二醇-活性酯 2、描述 Azide-PEG-NHS的分子量&#xff1a;Azide-PEG-NHS 1k&#xff0c;叠氮-聚乙二醇-活性酯 2k&#xff0c;叠氮-PEG-活性酯 5k&#xff0c;N3-PEG-…

rr来debug你的C/C++程序(Linux)

如何用rr来debug你的C/C程序(Linux) 想象一下如果你的程序某时会崩溃&#xff0c;但是不能稳定复现&#xff0c;你会如何debug它? 用传统debugger面临的问题就是你不知道这次运行的时候能不能复现&#xff0c;你猜测可能某段代码出现了问题&#xff0c;所以进行了一番检查。…

柔性制造物料抓取及加工系统设计

目 录 摘 要 I Abstract II 1 绪论 1 1.1 选题背景及意义 1 1.2 国内外研究现状 2 1.3六自由度并联机器人介绍 3 1.4研究主要内容 6 1.4.1主要设计要求 6 1.4.2技术参数 7 2柔性制造物料抓取及加工系统的结构及工作原理 8 2.1 并联运动机构概述 8 2.2 六自由度并联加工机器人总…

LTR (Learning to Rank): 排序算法 poitwise, pairwise, listwise常见方案总结

目录1 Learing to Rank介绍2 The Pointwise Approach3 The Pairwise Approach3.1 RankNet4 The Listwise Approach4.1 直接优化评测指标4.1.1 LambdaRank4.1.2 LambdaMART4.2 定义Listwise损失函数4.2.1 ListNet4.2.2 ListMLE5 排序评估指标5.1 Mean Reciprocal Rank (MRR)5.2 …

46-文本编辑器及文本处理

46-文本编辑器及文本处理常见文本编辑器linux文本编辑器介绍Linux文本编辑器-emacsLinux文本编辑器-nanoLinux文本编辑器- geditLinux文本编辑器- keditLinux文本编辑器- viLinux文本编辑器- vim使用vim编辑器vim基础操作-打开文件vim基础操作-移动光标vim基础操作–数据操作vi…

解决——》CommunicationsException:Communications link failure

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 解决——》CommunicationsException:Communications link failure1、操作2、现象3、原因4、解决1&…

大一新生HTML期末作业 学生个人网页设计作业 HTML5响应式个人简历网站模板 web前端网页制作课作业

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

【linux】登录审计

linux登录审计 桥接模式配置互联 VMware的“虚拟网络编辑器” 输入’nm-connection-editor’&#xff0c;配置以太网 为以太网连接配置网卡 配置ipv4 互ping ssh远程登录 ssh -l 用户名 ip地址exit退出ssh远程 [alexalexw-device ~]$ ssh -l alex 1.1.1.2 The au…

数据挖掘——RFM客户价值模型及航空公司客户分析实例

引言 背景信息时代的来临使得企业营销焦点从产品转向了客户&#xff0c;客户的管理关系成为企业的核心问题。客户的关系管理问题是客户分群。通过客户分群&#xff0c;进而区分无价值客户和高价值客户。高价值客户代表他们的消费会给企业带来利益最大。企业需要针对不同类别的…

易基因|病毒抗性:全基因组DNA甲基化揭示草鱼年龄相关病毒易感性的表观遗传机制

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 2022年06月02日&#xff0c;淡水生态与生物技术国家重点实验室&#xff08;中国科学院水生生物研究所&#xff09;何利波副研究员为第一作者和通讯作者&#xff0c;汪亚平研究员为共同通…

智慧市政解决方案-最新全套文件

智慧市政解决方案-最新全套文件一、建设背景二、思路架构三、建设方案四、获取 - 智慧市政全套最新解决方案合集一、建设背景 随着中国经济的快速发展&#xff0c;城市化步伐不断加快&#xff0c;为了适应城市发展与管理的需求&#xff0c;解决城市市政管理过程中的问题&#…

PDPS软件:机器人控制输送带运行虚拟仿真操作方法

目录 概述 旋转台设备运动机构介绍 旋转台设备模型导入与安装 旋转台设备操作创建 机器人控制旋转台设备离线程序命令添加 仿真运行 概述 旋转台也是工业机器人生产线中常用的外围设备&#xff0c;工件安装在旋转台的夹紧机构上&#xff0c;旋转台通过旋转实现工作位置的…

【Linux】进程地址空间

文章目录一、前言二、什么是进程地址空间三、进程地址空间如何进行管理四、为什么会存在进程地址空间五、进程地址空间区域的严格划分一、前言 学习Linux系统编程一共要翻越三座大山 – 进程地址空间、文件系统以及多线程&#xff0c;这三部分内容很难但是非常重要&#xff1b…

[附源码]Python计算机毕业设计java高校社团管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…