Bluetoothプリンターにデータを送信するアプリケーションを作成しています。誰でも私を助けることができますか?印刷に Android Bluetooth Stack を使用するにはどうすればよいですか? または、使用する外部 API または SDK はありますか?
Bluetoothを検索するための私のコードは次のとおりです...
bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
registerReceiver(ActionFoundReceiver,
new IntentFilter(BluetoothDevice.ACTION_FOUND));
private final BroadcastReceiver ActionFoundReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent
.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
btArrayAdapter.add(device.getName() + "\n"
+ device.getAddress());
btArrayAdapter.notifyDataSetChanged();
}
}
};
そして、ここにデータをプリンターに送信するための私のコードがあります..
BluetoothDevice mDevice = bluetoothAdapter.getRemoteDevice("00:15:FF:F2:56:A4");
Method m = mDevice.getClass().getMethod("createRfcommSocket",
new Class[] { int.class });
mBTsocket = (BluetoothSocket) m.invoke(mDevice, 1);
System.out.println("Connecting.....");
mBTsocket.connect();
System.out.println("Connected");
OutputStream os = mBTsocket.getOutputStream();
os.flush();
os.write(Receipt.getBytes());
// mBTsocket.close();
socket.close() を書くと、データを印刷する前にソケット接続が閉じられるため、データがプリンターに印刷されません..そして、socket.close() を書かなかった場合、データは一度だけ印刷されます..電話のブルートゥースを再起動するまで、データをもう一度印刷できます。
誰でも解決できますか?または、この印刷を取り除く他の方法はありますか??