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

网站首页跳出弹窗苏州相城区最新楼盘价格

网站首页跳出弹窗,苏州相城区最新楼盘价格,开发者模式是干什么的,手机端网站设计【uniapp蓝牙】基于native.js链接ble和非ble蓝牙 uniapp不是仅支持低功耗蓝牙#xff08;基础蓝牙通讯不支持#xff09;#xff0c;有些可能需要基础蓝牙。我现在同步我的手机蓝牙列表低功耗#xff0c;基础蓝牙都支持 /*** author wzj* 通用蓝牙模块封装* 搜索 ble 和非…【uniapp蓝牙】基于native.js链接ble和非ble蓝牙 uniapp不是仅支持低功耗蓝牙基础蓝牙通讯不支持有些可能需要基础蓝牙。我现在同步我的手机蓝牙列表低功耗基础蓝牙都支持 /*** author wzj* 通用蓝牙模块封装* 搜索 ble 和非 ble 蓝牙设备*/ class Ble {constructor() {// false 蓝牙关闭, true 蓝牙打开this.bluetooth falsethis.systemPlatform uni.$uv.os()this.context plus.android.importClass(android.content.Context)this.locationManager plus.android.importClass(android.location.LocationManager)this.main plus.android.runtimeMainActivity()this.mainSvr this.main.getSystemService(this.context.LOCATION_SERVICE)this.Intent plus.android.importClass(android.content.Intent)this.Settings plus.android.importClass(android.provider.Settings)this.IntentFilter plus.android.importClass(android.content.IntentFilter)this.BluetoothAdapter plus.android.importClass(android.bluetooth.BluetoothAdapter)this.BluetoothDevice plus.android.importClass(android.bluetooth.BluetoothDevice)this.UUID plus.android.importClass(java.util.UUID)// 未配对蓝牙设备列表this.unpairedList []// 已配对蓝牙设备列表this.pairedList []}// 监听蓝牙状态改变listenerConnection() {plus.bluetooth.onBLEConnectionStateChange(function (e) {console.log(connection state changed: JSON.stringify(e))})}// 提示框showToast(title, options {}) {uni.showToast({title,...options})}// 初始化蓝牙模块openBluetoothAdapter() {this.getBluetoothState()if (!this.bluetooth) {this.showToast(请先打开蓝牙!, {icon: error,duration: 2000})return false}if (this.systemPlatform ! android) {this.showToast(蓝牙功能只支持Android系统!, {icon: error,duration: 2000})return false}// 定位检测this.checkLocation()}// gps是否开启isProviderEnabled() {return this.mainSvr.isProviderEnabled(this.locationManager.GPS_PROVIDER)}// 建立连接createBLEConnection(mac_address) {const that thisvar BAdapter this.BluetoothAdapter.getDefaultAdapter()let device BAdapter.getRemoteDevice(mac_address)plus.android.importClass(device)let bdevice new this.BluetoothDevice()// 判断是否配对const getBondState device.getBondState() bdevice.BOND_NONEif (!getBondState) {console.log(已配对蓝牙设备)return true}// 参数如果跟取得的mac地址一样就配对const addressSame device.getAddress() mac_addressif (!addressSame) return false// 配对命令const createBond device.createBond()if (!createBond) return falselet cha setInterval(() {if (device.getBondState() bdevice.BOND_BONDED) {clearInterval(cha)// 删除未配对蓝牙添加到已配对that.unpairedList.map((item, i) {if (item.address mac_address) {that.pairedList.push(item)that.unpairedList.splice(i, 1)}})}}, 1000)}// 执行蓝牙打印blueToothPrint(mac_address, dataToSend) {if (!mac_address) {this.showToast(请选择蓝牙打印机, {icon: error,})return false}let uuid this.UUID.fromString(00001101-0000-1000-8000-00805f9b34fb)let BAdapter this.BluetoothAdapter.getDefaultAdapter()let device BAdapter.getRemoteDevice(mac_address)plus.android.importClass(device)let bluetoothSocket device.createInsecureRfcommSocketToServiceRecord(uuid)plus.android.importClass(bluetoothSocket)if (bluetoothSocket.isConnected()) {let outputStream bluetoothSocket.getOutputStream()plus.android.importClass(outputStream)let bytes plus.android.invoke(dataToSend, getBytes, gbk)console.log(发送数据完成, bytes)outputStream.write(bytes)outputStream.flush()// 这里关键device null// 必须关闭蓝牙连接否则意外断开的话打印错误bluetoothSocket.close()} else {console.log(检测到设备未连接尝试连接....)bluetoothSocket.connect()}}// 定位检测checkLocation() {const GPS_PROVIDER this.isProviderEnabled()if (GPS_PROVIDER) {this.searchDevices()return true}uni.showModal({title: 提示,content: 请打开定位服务功能,showCancel: false, // 不显示取消按钮success() {if (GPS_PROVIDER) {this.showToast(GPS功能已开启!, {icon: success,})return true}const intent new this.Intent(this.Settings.ACTION_LOCATION_SOURCE_SETTINGS)// 打开系统设置GPS服务页面this.main.startActivity(intent)}})return false}// 开始搜寻附近的蓝牙外围设备startBluetoothDevicesDiscovery() {const that thislet main this.mainlet BluetoothAdapter this.BluetoothAdapteruni.startBluetoothDevicesDiscovery({success: (res) {let BAdapter BluetoothAdapter.getDefaultAdapter()const isEnabled BAdapter ! null !BAdapter.isEnabled()if (isEnabled) {const intent new this.Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)main.startActivityForResult(intent, 200)}uni.showLoading({title: 开始搜索设备,})let filter new this.IntentFilter()let bdevice new this.BluetoothDevice()let BluetoothDevice this.BluetoothDevice// 开启搜索BAdapter.startDiscovery()// 获取配得和未配对蓝牙回调let receiver plus.android.implements(io.dcloud.android.content.BroadcastReceiver, {//实现onReceiver回调函数onReceive: function (context, intent) {// 通过 intent 实例引入 intent 类方便以后的‘.’操作plus.android.importClass(intent)let BleDevice intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)// 获取已经配对的蓝牙设备const getBondState BleDevice.getBondState() ! bdevice.BOND_NONEif (getBondState) {// 已配对蓝牙设备const addressLen that.unpairedList.filter(item item.address BleDevice.getAddress())if (addressLen.length 0) returnthat.unpairedList.push({name: BleDevice.getName(),address: BleDevice.getAddress(),})}const action intent.getAction() android.bluetooth.adapter.action.DISCOVERY_FINISHEDif (action) {// 取消监听main.unregisterReceiver(receiver)uni.hideLoading()return false}const isBondState intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE).getBondState() 10if (isBondState) {const name intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE).getName()const address intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE).getAddress()var y 0const unpairedListLength that.unpairedList.lengthfor (let x 0; x unpairedListLength; x) {let isAddress that.unpairedList[x].address addressif (isAddress) {y}}if (y 0) {return y 0}if (!name) {return}that.unpairedList.push({name,address,})}}})filter.addAction(bdevice.ACTION_FOUND)filter.addAction(BAdapter.ACTION_DISCOVERY_STARTED)filter.addAction(BAdapter.ACTION_DISCOVERY_FINISHED)filter.addAction(BAdapter.ACTION_STATE_CHANGED)main.registerReceiver(receiver, filter)},fail: (res) {console.log(startBluetoothDevicesDiscovery fail, res)},})}// 搜索蓝牙设备searchDevices() {this.openBluetooth(() {if (!this.bluetooth) {return false}this.startBluetoothDevicesDiscovery()})}// 打开蓝牙模块openBluetooth(callBack) {const that thisuni.openBluetoothAdapter({success(res) {uni.getBluetoothAdapterState({success(res) {that.bluetooth res.availablecallBack callBack()}})},fail(res) {console.log(openBluetoothAdapter fail, res)}})}// 获取蓝牙状态getBluetoothState() {/* 判断是否打开蓝牙 */this.openBluetooth()} }export default Ble
http://www.hkea.cn/news/14347246/

相关文章:

  • 网站开发的大学生应届简历seo算法
  • 深圳建站公司模板高平企业网站
  • 培训教育网站建设做网站后期维护工资贴吧
  • pc网站转换手机网站代码网页升级访问紧急通通知
  • 在哪里做网站设计英文电商网站建设
  • 网站宣传有文化事业建设费吗网站开发一般过程
  • 广州app网站建设政务网站建设原则
  • 手机网站建设基本流程成都微网站开发
  • 提供常州网站推广网站建设与管理实践报告总结
  • 做exo小说的网站百度搜索广告怎么投放
  • 网站 网页区别是什么iis启动wordpress
  • 万网网站备案查询网站页面设计需要遵循的六大原则
  • 莆田市秀屿区建设局网站背景做网站公司
  • 做一个展示型网站多少钱无锡微信网站建设价格
  • 昆山做企业网站免费设计素材下载
  • 做网站选择哪家运营商装修公司网站模板
  • 北京怎么做网站推广wordpress顶部加横幅
  • 网站建设模板型和定制型网站底部信息
  • 湛江网站制作优化凡客诚品还有人买吗
  • 做网站官网好处怎么在中国做网站网站
  • 网站建设需求分析调研表电子商务以后的就业方向
  • 网站开发周期是什么意思西安哪个公司做网站
  • 推网站wordpress 自适应主题
  • 电子商务网站营销方案永州企业网站开发
  • 购物网站建设过程做算法题网站
  • 帝国cms地方门户网站模板做网站策划需要什么技能
  • 安康做网站的公司电话北京网站seo招聘
  • 网站 流程 工具wordpress文件简易版
  • 江宁做网站j建设局域网网站
  • 关于网站建设论文的结束语做货代的要注册哪种物流网站