Jayming1024
Jayming1024
  • 发布:2015-08-04 14:49
  • 更新:2020-08-31 17:13
  • 阅读:28942

与蓝牙打印机建立连接并打印

分类:Native.js

mui.plusReady(function(){     
    var main = plus.android.runtimeMainActivity();  
    var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");  
    var UUID=plus.android.importClass("java.util.UUID");  
    uuid=UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");  
    var BAdapter = BluetoothAdapter.getDefaultAdapter();  
    BAdapter.cancelDiscovery();//停止扫描  
    var addres_mac = plus.storage.getItem("printer");//传入打印机mac地址  
    device=BAdapter.getRemoteDevice(addres_mac);  
    plus.android.importClass(device);  
});  

function print(){  
    bluetoothSocket = device.createInsecureRfcommSocketToServiceRecord(uuid);  
    plus.android.importClass(bluetoothSocket);   
    if(!bluetoothSocket.isConnected()){  
        bluetoothSocket.connect();  
    }  
    var outputStream=bluetoothSocket.getOutputStream();  
    plus.android.importClass(outputStream);  
    var string="你好123";  
    var bytes = plus.android.invoke(string,'getBytes','gbk');  
    //console.log(bytes+"."+bytes.length);   
    outputStream.write(bytes);  
    outputStream.flush();  
}  
7 关注 分享
BoredApe 蔡繁荣 青木物联 Trust x***@qq.com 康林 1***@qq.com

要回复文章请先登录注册

huyong1978

huyong1978

devicei没问题,连接状态一直是falase,调用了bluetoothSocket.connect()也不行,是哪里需要设置吗?
2015-09-05 11:07
Jayming1024

Jayming1024 (作者)

这个是关键代码,测试的时候需要先在手机系统蓝牙设置里面跟蓝牙打印机配对,配对完成后,才可以直接连接打印机的mac地址了,连接后执行打印
2015-09-05 08:09
Jayming1024

Jayming1024 (作者)

回复 huyong1978 :
var addres_mac = plus.storage.getItem("printer");//传入打印机mac地址
这个addres_mac是一个字符串,你需要通过其他方法获取到mac地址,我发表的其他文章里面有方法
2015-09-02 16:57
Jayming1024

Jayming1024 (作者)

回复 huyong1978 :
哪句出错?
2015-09-02 16:52
huyong1978

huyong1978

Uncaught TypeError: Cannot read property '__TYPE__' of null 请问运行的时候报这个错是什么原因?
2015-08-27 12:15
Jayming1024

Jayming1024 (作者)

回复 问天玄铁 :
不会原生啊,我是做php的。稍微看了一下java,编程语言的逻辑大致相同;慢慢摸索。nj我掌握得也不是很好,最开始我也是到处copy代码用,我的目的是做一个app而不是把nj搞熟练,所以有些地方虽然我做出来了,其实我可能并不懂是怎么实现的。
2015-08-12 08:32
问天玄铁

问天玄铁

感谢楼主所做的工作,看楼主的文章和回复,楼主也是在自己摸索,竟然把蓝牙相关问题完全摸通了。楼主的文章和回复对其他人具有很好的启发意义。我想知道楼主会原生开发吗?怎么会如此好的掌握NATIVE.JS
2015-08-10 12:01
Jayming1024

Jayming1024 (作者)

var underline=[ 0x1b, 0x2d, 0x01 ]; //下划线指令
outputStream.write(underline);
//可以用指令控制打印格式,具体全部指令可以百度
2015-08-06 13:40
Jayming1024

Jayming1024 (作者)

回复 蔡繁荣 :
不是一样的吗?
2015-08-06 12:47
蔡繁荣

蔡繁荣

有没有iOS版呢?
2015-08-04 17:13