<分区>
大家好,我想连接到蓝牙打印机并打印用户数据集的收据,如上所述,在 textview 的线性布局上设置
<分区>
大家好,我想连接到蓝牙打印机并打印用户数据集的收据,如上所述,在 textview 的线性布局上设置
最佳答案
__________打印方法____________
private void bluetoothSendData(String text) {
if (LogConfig.tracking)
Log.i("bluetoothSendData()", text);
try {
mBTSocket.getOutputStream().write(decodeText(text));
} catch (IOException e) {
if (LogConfig.enable)
Log.e(TAG, "Send data error: ", e);
}
}
_________如果您需要打印格式化文本,请使用____________
private byte[] decodeText(String text) throws CharacterCodingException,
UnsupportedEncodingException {
String encoding = "your supported encoding";
Charset charset = Charset.forName(encoding);
CharsetDecoder decoder = charset.newDecoder();
CharsetEncoder encoder = charset.newEncoder();
ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(text));
CharBuffer cbuf = decoder.decode(bbuf);
String s = cbuf.toString();
return s.getBytes(encoding);
}
BluetoothSocket mBTSocket = null;
________________initMethod()_________________
mBTAdapter = BluetoothAdapter.getDefaultAdapter();
mBTDevice = getBTDeviceRegisteredPrinter();
____________连接方法_______________
mBTSocket = mBTDevice
.createRfcommSocketToServiceRecord(MY_UUID_SECURE);
mBTSocket.connect();
使用下面的代码获取设备
private BluetoothDevice getBTDeviceRegisteredPrinter() {
BluetoothDevice BTDevice = null;
if (mBTAdapter.isEnabled()) {
Set<BluetoothDevice> pairedDevices = mBTAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
// Loop through paired devices
for (BluetoothDevice device : pairedDevices) {
if (getRegisteredPrinter().equals("Your Printer")) {
if (device.getName().startsWith("see paired name")) {
if (device.getBondState() == BluetoothDevice.BOND_BONDED) {
BTDevice = device;
mBTAdapter.cancelDiscovery();
}
}
}
}
}
}
return BTDevice;
}
关于android - 我如何通过蓝牙打印机打印线性布局上的表单数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28471745/