通过Xamarin实现东大集成PDA的扫码
创始人
2024-01-28 20:45:45

目录

  • 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 resourceSetContentView(Resource.Layout.activity_main);receiver = new MySampleBroadcastReceiver(); //初始化接收器receiver.ScannerContent = "默认的初始值";sacnInputText = FindViewById(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 claritybase.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

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
上海有几个区 最新上海16区划... 你平常会使用地图吗?一幅标准的地图可以帮助我们解决很多问题。自然资源部最新公布了长三角标准地图,上海...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
男生摸女生胸 同桌把我带到卧室... 所谓“酒色财气”,酒与色往往是连在一起的,澳洲有个医学生,就因为两次酒后猥亵自己的同学,几乎葬送了自...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...