dcloud HTML5+ 打印

导入Java类对象


ClassObject plus.android.importClass( String classname );
				

说明:

导入类对象后,就可以通过.操作符直接调用对象(类对象/实例对象)的方法。 注意:导入类对象将会消耗较多的系统资源,通常不应该导入过多的类对象,可以使用plus.android.invoke()来调用未导入类实例对象的方法。

参数:

  • classname: String | InstanceObject ) 必选 要导入的Java类名或者实例对象,使用”.”分割命名空间
    在类名中可以使用”*”来导入指定命名空间下的所有类对象; 如果指定的类名无效,则导入类对象失败。

返回值:

ClassObject : Java类对象,如果导入类对象失败则返回null。

  1. function printSocket(str, ip, port) {
  2.   if (plus.os.name == “Android”) {
  3.     plus.nativeUI.showWaiting(“正在打印中。。。”);
  4.     var Socket = plus.android.importClass(“java.net.Socket”);
  5.     var socket;
  6.     var outputStream;
  7.     //解决高低版本兼容
  8.     var StrictMode = plus.android.importClass(“android.os.StrictMode”);
  9.     var Build = plus.android.importClass(“android.os.Build”);
  10.     if (Build.VERSION.SDK_INT > 9) {
  11.       var policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
  12.       StrictMode.setThreadPolicy(policy);
  13.     }
  14.     try {
  15.       socket = new Socket(ip, port);
  16.       socket.setKeepAlive(true);
  17.       outputStream = socket.getOutputStream();
  18.       plus.android.importClass(outputStream);
  19.       var bytes = plus.android.invoke(str, ‘getBytes’, ‘gbk’);
  20.       outputStream.write(bytes);
  21.       outputStream.flush();
  22.       socket.shutdownOutput();
  23.       plus.nativeUI.closeWaiting();
  24.     } catch(e) {
  25.       mui.toast(“网络连接超时,请重新连接!”)
  26.       //TODO handle the exception
  27.       plus.nativeUI.closeWaiting();
  28.     }
  29.   }
  30. }

本文链接地址: dcloud HTML5+ 打印