当前位置: 首页 > news >正文

焦作网站建设哪家公司好/中国国家数据统计网

焦作网站建设哪家公司好,中国国家数据统计网,上海网站设计专业团队,微小店网站建设多少钱在Android里,用java通过实现BroadcastReceiver接口,就可以获得Intent消息。可是Delphi程序不能直接实现JBroadcastReceiver,如何能够实现类似Java的BroadcastReceiver功能呢? 幸运的是Delphi提供了TJFMXBroadcastReceiver类实现了…

在Android里,用java通过实现BroadcastReceiver接口,就可以获得Intent消息。可是Delphi程序不能直接实现JBroadcastReceiver,如何能够实现类似Java的BroadcastReceiver功能呢?

幸运的是Delphi提供了TJFMXBroadcastReceiver类实现了BroadcastReceiver,我们便可以以此达到目的。

下面的程序片段举例,实现如何在Delphi下获取USB外设拔插的消息。

 

 

uses System.SysUtils, System.Classes,System.Generics.Collections,Androidapi.JNI.USB,Androidapi.JNI.Embarcadero,Androidapi.JNIBridge,Androidapi.JNI.GraphicsContentViewText,Androidapi.JNI.JavaTypes,Androidapi.JNI.App,Androidapi.JNI.os,...;TUsbFtdiBroadcastReceiverListener = class(TJavaLocal, JFMXBroadcastReceiverListener)private[Weak] FPort: TFTDIPort;publicconstructor Create(const Owner: TFTDIPort);procedure onReceive(context: JContext; intent: JIntent); cdecl;end;TFTDIPort = class(TInterfacedObject, ICommPort)protectedclass var FManager: JD2xxManager;class var FListener : TUsbFtdiBroadcastReceiverListener;class var FReceiver: JFMXBroadcastReceiver;class var FUsbManager:JUsbManager;class var FFilter:JIntentFilter;class procedure InitClass(Port:TFtdiPort);publicfunction Connect(Device : String): Boolean;procedure Disconnect;...... end;{ TUsbFtdiBroadcastReceiverListener }
constACTION_USB_PERMISSION='com.android.example.USB_PERMISSION';constructor TUsbFtdiBroadcastReceiverListener.Create(const Owner: TFtdiPort);
begininherited Create;FPort:=Owner;
end;procedure TUsbFtdiBroadcastReceiverListener.onReceive(context: JContext;intent: JIntent);
varaction:String;Accessory:JUsbAccessory;
beginaction:=JStringToString(intent.getAction);if action=ACTION_USB_PERMISSION thenbeginif (intent.getBooleanExtra(TJUsbManager.JavaClass.EXTRA_PERMISSION_GRANTED, False)) thenbeginAccessory:= TJUsbAccessory.Wrap(intent.getParcelableExtra(TJUsbManager.JavaClass.EXTRA_ACCESSORY));if JStringToString(Accessory.getManufacturer)='FTDI' thenbeginFPort.Connect(JStringToString(Accessory.toString));end;end;endelse if (action=TJUsbManager_ACTION_USB_DEVICE_DETACHED) thenbeginFPort.Disconnect;endelsebeginend;
end;class procedure TFtdiPort.InitClass(Port:TFdiPort);
beginif not Assigned(FUsbManager) thenbeginFUsbManager := TJUsbManager.Wrap(SharedActivityContext.getSystemService(TJContext.JavaClass.USB_SERVICE));if not Assigned(FUsbManager) then Exit;FListener := TUsbFtdiBroadcastReceiverListener.Create(Port);if not Assigned(FListener) then Exit;FReceiver := TJFMXBroadcastReceiver.JavaClass.init(FListener);if not Assigned(FReceiver) then Exit;FFilter:=TJIntentFilter.JavaClass.init(StringToJString(ACTION_USB_PERMISSION));if not Assigned(FFilter) then Exit;FFilter.addAction(TJUsbManager.JavaClass.ACTION_USB_ACCESSORY_DETACHED);SharedActivityContext.registerReceiver(FReceiver, FFilter);end;
end;

 

转载于:https://www.cnblogs.com/hezihang/p/3978434.html

http://www.jmfq.cn/news/5252437.html

相关文章:

  • 为什么网站显示建设中/友情链接推广平台
  • 中企业网站建设/营销型网站外包
  • 自己接私单网站开发/洛阳seo网络推广
  • 网站开发毕业设计收获与体会/最大免费广告发布平台
  • 深圳顶级做网站公司排名/seo包年优化
  • soho做网站谷歌推广/seo技术306
  • jquery mobile网站模板/百度广告联盟怎么赚钱
  • 大的网站建设公司/网站seo基本流程
  • 建站模板大全/网络营销策略有哪五种
  • 中国建设教育网证件查询/seo站长工具查询系统
  • 网站文章做百度排名/昆明seo网站管理
  • 章丘哪里有建设网站的/怎么做好seo内容优化
  • 阿里巴巴怎么做公司网站/推广app用什么平台比较好
  • 知名高端网站建设服务商/江苏seo平台
  • 简单做网站用什么软件/搭建网站平台需要多少钱
  • 360免费网站建设/百度账号官网
  • 值得相信的西安网站开发/网站一级域名和二级域名区别
  • 北京市网站备案查询/线上推广策划方案范文
  • 东莞常平疫情最新情况/武汉seo招聘
  • php会了 怎么做网站/德州seo整站优化
  • jsp做的网站运行都需要什么/优化网站做什么的
  • 重庆市永川区城乡建设委员会网站/百度seo优化推广公司
  • 班服定制的网站/广州seo优化排名公司
  • 南宁网站建设专家/网络营销策划书结构
  • 营销型网站建设实训总结/全国疫情排行榜最新情况列表
  • 有效方法的小企业网站建设/服务推广软文范例
  • 禁止同ip网站查询/seo是什么东西
  • 族蚂建站/金花关键词工具
  • 网络营销毕业后做什么工作/百度关键词优化大
  • google网站优化器/短视频营销常用平台有