この質問を読んだ後: Android USB Permissions Dialog never appearといくつかのテストを実行すると、次の問題が発生します。
USBプリンターにも印刷する必要があります(プレーンテキストのみ)。接続を確立すると、ダイアログが表示されますが、この後何をすべきかわかりません。openPort(aDevice)で何をしなければならないか、誰か助けてもらえますか?
これは私が試すものです:
................
if (mUsbManager.hasPermission(mDevice)){
final UsbDeviceConnection mConnection = mUsbManager.openDevice(mDevice);
intf = mDevice.getInterface(0);
for (int i = 0; i < intf.getEndpointCount(); i++) {
UsbEndpoint ep = intf.getEndpoint(i);
if (ep.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) {
if (ep.getDirection() == UsbConstants.USB_DIR_OUT) {
mEndpointBulkOut = ep;
UsbDeviceConnection connection = mUsbManager.openDevice(mDevice);
if(connection!=null)
{
Log.e(TAG," Conectado");
}
connection.claimInterface(intf, forceClaim);
//Integer res = connection.bulkTransfer(mEndpointBulkOut, bytes, bytes.length, TIMEOUT);
new Thread(new Runnable()
{
@Override
public void run()
{
// TODO Auto-generated method stub
Log.i(TAG, "in run thread");
int b = mConnection.bulkTransfer(mEndpointBulkOut, bytes, bytes.length, 100000);
Log.i(TAG, "b-->" + b);
}
}).start();
connection.releaseInterface(intf);
break;
}
}
}
}
else
mUsbManager.requestPermission(mDevice, mPermissionIntent);
break;`
.......
mConnection.bulkTransfer は常に -1 を返します