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

2、进行应用的设置

3、选择广播的方式

4、点击“开发者项”,输入密码:888888

5、广播的相关内容,记下来,一会儿再代码中会用到

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

[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,就是开发者项中的键值名称} }
}
在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);}
}
东大集成PDA的扫码功能
demo下载:提取码:NHZL
上一篇:描述三峡的美丽句子
下一篇:传奇架设gom引擎常见问题