Delphi 10.1 Android 调用连接USB打印机问题

sum008 2019-03-25 12:17:03

----------这个是USB打印机的接口---------------------
//
// Generated by JavaToPas v1.4 20190324 - 133028
// *** unregistered evaluation copy ***
////////////////////////////////////////////////////////////////////////////////
unit com.dp.dp_usblist.USBFactory;

interface

uses
AndroidAPI.JNIBridge,
Androidapi.JNI.JavaTypes,
com.dp.dp_usblist.a.e,
com.dp.dp_usblist.a.d,
//android.hardware.usb.UsbManager,
//android.hardware.usb.UsbDevice,
//android.graphics.Bitmap,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.USB;

type
JUSBFactory = interface;

JUSBFactoryClass = interface(JObjectClass)
['{4C4DABCB-DEEF-4DB5-B0C2-4196C269AD2A}']
function Align(JStringparam0 : JString) : TJavaArray<Byte>; cdecl; // (Ljava/lang/String;)[B A: $9
function Check_Paper : boolean; cdecl; // ()Z A: $1
function Check_Paper552c : JString; cdecl; // ()Ljava/lang/String; A: $1
function _GetCallBackData : Integer; cdecl; // A: $19
function _Getrandomprintcount : Integer; cdecl; // A: $9
function connectUsb(JUsbManagerparam0 : JUsbManager; JUsbDeviceparam1 : JUsbDevice) : boolean; cdecl;// (Landroid/hardware/usb/UsbManager;Landroid/hardware/usb/UsbDevice;)Z A: $1
function getUsbFactory : JUSBFactory; cdecl; // ()Lcom/dp/dp_usblist/USBFactory; A: $9
function is_connecusb : boolean; cdecl; // ()Z A: $1
procedure Align_Type(JStringparam0 : JString) ; cdecl; // (Ljava/lang/String;)V A: $1
procedure CloseUSB ; cdecl; // ()V A: $1
procedure LabelBegin(Integerparam0 : Integer; Integerparam1 : Integer) ; cdecl;// (II)V A: $1
procedure LabelQRCode(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; JStringparam3 : JString) ; cdecl;// (IIILjava/lang/String;)V A: $1
procedure Labelend ; cdecl; // ()V A: $1
procedure LableBarcode(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer; Integerparam4 : Integer; Integerparam5 : Integer; JStringparam6 : JString) ; cdecl; overload;// (IIIIIILjava/lang/String;)V A: $1
procedure LableBarcode(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer; Integerparam4 : Integer; JStringparam5 : JString) ; cdecl; overload;// (IIIIILjava/lang/String;)V A: $1
procedure LableImage(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; JBitmapparam3 : JBitmap) ; cdecl;// (IIILandroid/graphics/Bitmap;)V A: $1
procedure LableText(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer; Integerparam4 : Integer; JStringparam5 : JString) ; cdecl; overload;// (IIIIILjava/lang/String;)V A: $1
procedure LableText(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer; JStringparam4 : JString) ; cdecl; overload;// (IIIILjava/lang/String;)V A: $1
procedure LableTextImage(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer; JStringparam4 : JString) ; cdecl;// (IIIILjava/lang/String;)V A: $1
procedure LableViewImage(Integerparam0 : Integer; Integerparam1 : Integer; Integerparam2 : Integer; JViewparam3 : JView) ; cdecl;// (IIILandroid/view/View;)V A: $1
procedure PaperAllCut ; cdecl; // ()V A: $1
procedure PaperCut ; cdecl; // ()V A: $1
procedure PrintBarcode(JStringparam0 : JString; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer; Integerparam4 : Integer; Integerparam5 : Integer) ; cdecl;// (Ljava/lang/String;IIIII)V A: $1
procedure PrintImage(JBitmapparam0 : JBitmap; Integerparam1 : Integer) ; cdecl; overload;// (Landroid/graphics/Bitmap;I)V A: $1
procedure PrintImage(JBitmapparam0 : JBitmap; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer) ; cdecl; overload;// (Landroid/graphics/Bitmap;III)V A: $1
procedure PrintPicture(JBitmapparam0 : JBitmap; Integerparam1 : Integer; Integerparam2 : Integer) ; cdecl;// (Landroid/graphics/Bitmap;II)V A: $1
procedure PrintQR(JStringparam0 : JString; Integerparam1 : Integer) ; cdecl; overload;// (Ljava/lang/String;I)V A: $1
procedure PrintQR(JStringparam0 : JString; Integerparam1 : Integer; Integerparam2 : Integer) ; cdecl; overload;// (Ljava/lang/String;II)V A: $1
procedure PrintTestPage ; cdecl; // ()V A: $1
procedure PrintText(JStringparam0 : JString; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer) ; cdecl;// (Ljava/lang/String;III)V A: $1
procedure PrintTextImage(JStringparam0 : JString; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer) ; cdecl;// (Ljava/lang/String;III)V A: $1
procedure PrintViewImage(JViewparam0 : JView; Integerparam1 : Integer; Integerparam2 : Integer) ; cdecl;// (Landroid/view/View;II)V A: $1
procedure Printcolumncontent(JStringparam0 : JString; Integerparam1 : Integer; JStringparam2 : JString; Integerparam3 : Integer; JStringparam4 : JString; Integerparam5 : Integer; JStringparam6 : JString; Integerparam7 : Integer) ; cdecl; overload;// (Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;ILjava/lang/String;I)V A: $1
procedure Printcolumncontent(JStringparam0 : JString; Integerparam1 : Integer; JStringparam2 : JString; Integerparam3 : Integer; JStringparam4 : JString; Integerparam5 : Integer; JStringparam6 : JString; Integerparam7 : Integer; Integerparam8 : Integer) ; cdecl; overload;// (Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;ILjava/lang/String;II)V A: $1
procedure Sendbyte(TJavaArrayByteparam0 : TJavaArray<Byte>) ; cdecl; // ([B)V A: $1
property CallBackData : Integer read _GetCallBackData; // I A: $19
property randomprintcount : Integer read _Getrandomprintcount; // I A: $9
end;

[JavaSignature('com/dp/dp_usblist/USBFactory')]
JUSBFactory = interface(JObject)
['{06354E23-CE82-45E2-87C3-DC0905967473}']
function Check_Paper : boolean; cdecl;
function connectUsb(JUsbManagerparam0 : JUsbManager; JUsbDeviceparam1 : JUsbDevice) : boolean; cdecl;// (Landroid/hardware/usb/UsbManager;Landroid/hardware/usb/UsbDevice;)Z A: $1
function getUsbFactory : JUSBFactory; cdecl; // ()Lcom/dp/dp_usblist/USBFactory; A: $9
function is_connecusb : boolean; cdecl;
procedure PrintText(JStringparam0 : JString; Integerparam1 : Integer; Integerparam2 : Integer; Integerparam3 : Integer) ; cdecl;// (Ljava/lang/String;III)V A: $1
procedure PaperCut ; cdecl;
//
// Unregistered copy: Implementation not written
//
end;

TJUSBFactory = class(TJavaGenericImport<JUSBFactoryClass, JUSBFactory>)
end;

const
TJUSBFactoryCallBackData = 1;

implementation

end.


----------这个是USB打印机的接口---------------------
下面是我调用的, Fusbfactory.connectUsb(FUsbManager, FUsbDevice); 这个都是不成功


procedure TF_Main.Btn_USBLstClick(Sender: TObject);
var JavaObject : JObject;
DeviceList : JHashMap;
Device : JUSBDevice;
i : Jiterator;
s : JString;
b: Boolean;
begin
// Device discovery...

// Get pointer to UsbManager
JavaObject := SharedActivityContext.getSystemService(TJContext.JavaClass.USB_SERVICE);
FUsbManager := TJUSBManager.Wrap((JavaObject as ILocalObject).GetObjectID);

// Get a list of connected slave devices
DeviceList := FUsbManager.getDeviceList;
s := DeviceList.toString;
Memo1.Lines.Add(jstringtostring(s));

// Get pointer to G2 Device
FUsbDevice := nil;
i := DeviceList.values.iterator;
while i.hasNext do
begin
Device := TJUSBDevice.Wrap((i.next as ILocalObject).GetObjectID);
if (Device.getVendorId = 4070) and (Device.getProductId = 33054) then
begin
FUsbDevice := Device;
end;
Memo1.Lines.Add('VendorID ' + IntToStr(Device.getVendorId) + ', ProductID ' + IntToStr(Device.getProductId));
end;

if Assigned(FUsbDevice) then
begin
Memo1.Lines.Add('搜索到打印机');
end;

Fusbfactory := TJUSBFactory.JavaClass.getUsbFactory();
// Fusbfactory := TJUSBFactory.Create;
if Assigned(Fusbfactory) then
ShowMessage('');
// Fusbfactory := TJUSBFactory.Create;
b := Fusbfactory.connectUsb(FUsbManager, FUsbDevice);
if b then
begin
Memo1.Lines.Add('打印机已连接');
Exit;
end else
Memo1.Lines.Add('打印机未连接');

if assigned(FUsbDevice) then
Btn_USBOpen.Enabled := assigned(FUsbDevice);
end;


或者说TJUSBFactory 这个要怎么创建
...全文
417 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧