ZtlManager API文档

版本6.3

导入JAR并初始化单件对象

  • 1.导入ZtlManager包
import ZtlApi.ZtlManager;
  • 2.声明并实例化 ZtlManager 对象,注意,在实例化对象时需要传入参数 Context。
ZtlManager.GetInstance().setContext(MainActivity.this);ZtlManager.GetInstance().setContext(getApplicationContext());
  • 3.开始调用其他API 比如
ZtlManager.GetInstance().getDeviceVersion();//获取设备版本

系统

获取jar版本

函数:public String getJARVersion()

描述:获取 jar 版本号

用途:当用户拿到的 jar 版本和厂家公布的 jar 不一致时,建议更新。

示例:

 String JARVersion = ZtlManager.GetInstance().getJARVersion();//JARVersion为获取到的jar版本号

获取设备型号

函数:public static String getDeviceVersion()

描述:获取 Android 设备型号。

用途:可以通过读取这个 api 适配不同的板子,写不同的功能代码。

示例:

 String DeviceVersion = ZtlManager.GetInstance().getDeviceVersion();//DeviceVersion 为获取到的设备型号

获取系统版本

函数:public static String getAndroidVersion()

描述:获取 Android 设备系统版本号

用途:可以通过读取这个 api 适配不同的操作系统版本,写不同的功能代码。

示例:

 String AndroidVersion = ZtlManager.GetInstance().getAndroidVersion();//AndroidVersion 为获取到的设备型号

获取系统SDK版本

函数:public int getSDKVersion()

描述:获取 Android 设备系统版本号

用途:可以通过读取这个 api 适配不同的操作系统,写不同的功能代码。

示例:

 String getSDKVersion = ZtlManager.GetInstance().getSDKVersion();//getSDKVersion 为获取到的SDK版本号

获取设备唯一ID

函数:public String getDeviceID()

描述:获取 Android 设备唯一序列号

示例:

 String DeviceID = ZtlManager.GetInstance().getDeviceID();//DeviceID 为获取到的设备唯一ID

获取内部存储大小

函数:public long getTotalInternalMemorySize()

描述:获取内部存储空间总大小,相当于电脑的硬盘空间大小

用途:可以写一些监听内存的代码,转换 GB 需要将返回的结果/1024/1024/1024

示例:

 long MemorySize = ZtlManager.GetInstance().getTotalInternalMemorySize();//MemorySize 为获取到设备内部存储大小(字节)

获取剩余存储大小

函数:public long getFreeMemory()

描述:获取内部剩余存储空间大小

用途:可以写一些监听内存的代码,转换 GB 需要将返回的结果/1024/1024/1024

示例:

 long freeMemory = ZtlManager.GetInstance().getFreeMemory();//freeMemory 为获取到设备剩余存储大小(字节)

获取剩余运行内存

函数:public long getFreeMemorySize()

描述:获取剩余的运行内存

用途:可用于监听 app 内存使用情况,用来查看是否有内存泄漏。接口返回的是字节,转换 GB 需要/1024/1024/1024

示例:

 long FreeMemorySize = ZtlManager.GetInstance().getFreeMemorySize();//FreeMemorySize 为获取到的剩余运行内存(字节)

获取内部SD卡路径

函数:public String getInternalSDCardPath()

描述:获取 Android 设备内部 sdcard 路径

示例:

 String sdcardPath = ZtlManager.GetInstance.getInternalSDCardPath();//sdcardPath 为 Android 设备内部 SDcard 路径

获取外部SD卡路径

函数:public String getExternalSDCardPath()

描述:获取 Android 设备外部 sdcard 路径,比如说 TF 卡。

示例:

 String externalSDCardPath = ZtlManager.GetInstance.getExternalSDCardPath();//externalSDCardPath 为 Android 设备外部 SD 卡路径

获取插入U盘个数

函数:public int getUSBDiskCount()

描述:获取 Android 设备插入U盘个数

示例:

 int USBDiskCunt = ZtlManager.GetInstance.getUSBDiskCount();//USBDiskCunt 为 Android 设备插入U盘个数

获取指定索引U盘路径

函数:public String getUSBDisk(int index)

描述:获取 Android 设备指定索引U盘路径,适用于有多个U盘时使用

参数说明:index:指定索引。

示例:

 String USBPath = ZtlManager.GetInstance.getUSBDisk(1);//USBPath 为获取到的第1个U盘路径

获取U盘路径

函数:public String getUsbStoragePath()

描述:获取 Android 设备 USB 储存器路径

备注:因为监听系统广播的 media_mounted 返回的路径各个平台都不统一,所以如果想获取精确的U盘路径,推荐使用此接口。当U盘插入一段时间后,才能够返回正确的值。不插入U盘则返回 null。

示例:

 String usbPath = ZtlManager.GetInstance.getUsbStoragePath();//usbPath 为 Android 设备的 U 盘存储器路径

休眠

函数:public void sleep()

描述:设置 Android 系统进入休眠状态

备注:需系统固件支持。 验证方法见文末附注。

说明:使用该接口不需要权限。在休眠状态下需定时执行唤醒语句,否则需要重启机器才能唤醒。

注意:如果需要休眠后,要使当前 activity 继续运行,

则需添加权限:android:name=“android.permission.WAKE_LOCK”

然后在 activity 里写: getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

示例:

 //Android 设备进入休眠状态
 ZtlManager.GetInstance.sleep();

唤醒

函数:public void awake()

描述:设置 Android 系统从休眠状态进入唤醒状态

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //Android 设备从休眠进入唤醒状态
 ZtlManager.GetInstance.awake();

关机

函数:public void shutdown()

描述:使 Android 系统进入关机状态。

备注:需系统固件支持。 验证方法见文末附注。

注意:在 OTG 连接到电脑的情况下,会导致关机变重启

示例:

 //Android 系统进入关机状态
 ZtlManager.GetInstance().shutdown();

重启

函数:public void reboot(int delay)

描述:重启 Android 系统

备注:需系统固件支持。 验证方法见文末附注。

参数说明:delay:传入延迟时间,如不需要延迟,传入0即可

示例:

 //10 秒后进入重启
 ZtlManager.GetInstance().reboot(10);

截取当前屏幕

函数:public void startScreenShot(String path,String fileName)

描述:截取当前屏幕并保存到指定路径

参数说明:path:保存截图路径。fileName:文件名,后缀名需要为.png

示例:

 //截取当前屏幕保存到/sdcard/1.png
 ZtlManager.GetInstance.startScreenShot("/sdcard/","1.png");

设置系统桌面

函数:public void setLauncher(String pkgage,String Activity)

描述:设置 Android 系统桌面,需要设置的 APP 必须已存在,否则设置不成功,且不报错。如果需要恢复成默认桌面,参数传入 null 即可。

备注:需系统固件支持。 验证方法见文末附注。

参数说明:pkgage:需要设置桌面的APP包名。Activity:需要设置桌面的APP类名

示例:

 /** 注意:设置的程序需要有以下属性成为桌面程序:
  * <category android:name="android.intent.category.HOME"/> 
  * <category android:name="android.intent.category.DEFAULT"/> 
 */
 //替换Android系统桌面
 ZtlManager.GetInstance.setLauncher("com.ztl.test","com.ztl.test.MainActivity");

设置普通APP为系统桌面

函数:public void setDesktop(String pkgage)

描述:设置 Android 系统桌面,需要设置的 APP 必须已存在,否则设置不成功,且不报错。如果需要恢复成默认桌面,参数传入 null 即可。

参数说明:pkgage:需要设置桌面的APP包名

示例:

 //替换Android系统桌面
 ZtlManager.GetInstance.setDesktop("com.ztl.test");

获取设置的系统桌面包名

函数:public String getDesktop()

描述:获取设置的系统桌面包名

参数说明:返回值:返回设置的系统桌面包名

示例:

 String desktop = ZtlManager.GetInstance.getDesktop(); //desktop为获取的系统桌面包名

判断包名对应的APP是否存在

函数:public boolean isAppExist(String pkgName)

描述:判断包名对应的 APP 是否存在设备中

参数说明:pkgName:需要判断的APP包名。boolean:返回值,true = 存在; false = 不存在。

示例:

 boolean isAPPExist = ZtlManager.GetInstance().isAppExist(pkgName);//isAPPExist 为判断 APP 是否存在的返回值

恢复出厂设置

函数:public void resetSystem()

描述:Android 系统恢复出厂设置

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //Android 设备恢复出厂设置
 ZtlManager.GetInstance().resetSystem();

打开设置界面

函数:public void startSettings()

描述:打开系统设置界面

示例:

 //打开系统设置界面
 ZtlManager.GetInstance().startSettings();

打开wifi界面

函数:public void startWifiSettings()

描述:打开系统 Wifi 设置界面

示例:

 //打开 Android 系统 Wifi 设置界面
 ZtlManager.GetInstance().startWifiSettings();

打开或关闭导航栏与状态栏

函数:public void openSystemBar(boolean bOpen)

描述:是否已打开 Android 设备导航栏与状态栏

参数说明:bOpen:传入 true(显示)或 false(隐藏)即可

示例:

 //设置 Android 设备打开导航栏与状态栏
 ZtlManager.GetInstance().openSystemBar(true);

获取当前导航栏状态

函数:public boolean isSystemBarOpen()

描述:是否已打开 Android 设备导航栏与状态栏

参数说明:返回值:true:显示;false:隐藏

示例:

 boolean isSystemBarOpen = ZtlManager.GetInstance().isSystemBarOpen();//isSystemBarOpen 为导航栏与状态栏显示状态

设置USB调试状态

函数:public void openUsbDebug(boolean bOpen)

描述:设置 Android 设备 USB 调试状态

说明:cmd窗口可通过设置节点值实现:adb shell settings put global adb_enabled 0 ;0代表关闭,1代表打开(可用网络adb连接后设置)

官方标准接口:Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ADB_ENABLED, 0);该接口需要程序设置为系统程序。

参数说明:返回值:true:打开USB调试;false:关闭USB调试

示例:

 //设置 Android 设备 USB 调试打开
 ZtlManager.GetInstance().openUsbDebug(true);

获取USB调试状态

函数:public boolean isUsbDebugOpen()

描述:判断 Android 系统 USB 调试是否已打开

参数说明:返回值:true:USB调试已打开;false:USB调试未打开

示例:

 boolean isUsbDebugOpen = ZtlManager.GetInstance().isUsbDebugOpen();//isUsbDebugOpen 为 USB 调试口状态

OTG功能开关

函数:public boolean setUSBtoPC(boolean toPC)

描述:设置 Android 设备 OTG 口连接状态。开,电脑才能识别这个设备。关就没有。开的时候可以通过 android studio 或者别的方式看 logcat,方便调试,发布等。但是发布后,推荐关闭。避免第三方 apk 安装或者系统信息被非法读取。如电脑识别不到 USB 连接时,请连续点击设备中的:设置/关于设备/版本号,开启开发者模式,当屏幕下方提示您已处于开发者模式时,返回设置界面,在下方会开启一个开发者选项,进入开发者选项,在调试中开启 USB 调试状态即可。

参数说明:toPC:true:连接到PC;false:不连接PC

示例:

 //设置 Android 设备打开 OTG 调试口
 ZtlManager.GetInstance().setUSBtoPC(true);

获取OTG口连接状态

函数:public boolean getUSBtoPC()

描述:获取 Android 设备 OTG 口连接状态

参数说明:返回值:true:OTG口已打开;false:OTG口未打开

示例:

 boolean USBconnectPC = ZtlManager.GetInstance().getUSBtoPC();// USBconnectPC 为 OTG 口状态

设置生成序列号

函数:public void setBuildSerial(String sn)

描述:设置 Android 设备序列号。这个对应的是 Build.SERIAL。一般用于微信刷脸设置主板序列号用

参数说明:sn:设置Android设备序列号

示例:

 //设置 Android 设备序列号为"ztl-dz-test"
 ZtlManager.GetInstance().setBuildSerial("ztl-dz-test");

获取生成的序列号

函数:public String getBuildSerial()

描述:获取 Android 设备生成的序列号

注意:获取到的序列号不保证唯一,如需唯一设备识别码,请使用CPUID,接口为:getDeviceID()

参数说明:返回值:获取Android设备生成的序列号

示例:

 String sn = ZtlManager.GetInstance().getBuildSerial();//sn 为获取到的 Android 设备生成的序列号

判断4G网络故障代码

函数:public static String get4gStatic(Context context)

描述:判断4G网络故障代码,可用于获取到故障代码时,代码添加处理代码

参数说明:参数说明:context:传入上下文,如:MainActivity.this等。
返回值:null:需要更新助手;
-101:助手没有可获取这个关键字值;

0:4G网络正常

1:没网络,但以注册

-1002:4G的GPIO错误

-2:4G模块断电状态

-3:4G模块上电状态

-4:没有注册,没有搜索到运营商

-5:没有注册,正在搜索或正在注册

-6:拒绝注册

-7:信号错误或没插卡

-8:未知错误

-9:CGREG未知错误

+CGREG 1:启用网络注册未经请求的结果代码

+CGREG 2:启用网络注册和位置信息未经请求的结果代码

示例:

 String state = ZtlManager.GetInstance().get4gStatic(this);//state 为获取到的4G故障码

判断系统是否支持看门狗功能

函数:public boolean hasWatchDog()

描述:判断系统是否支持看门狗功能

参数说明:返回值:true:支持 false:不支持

示例:

 boolean isHas = ZtlManager.GetInstace().hasWatchDog();//isHas 为判断系统是否支持看门狗功能

打开看门狗并喂狗

函数:public boolean openWatchDog()

描述:打开看门狗,并且进行喂狗,默认一分钟喂3次狗

参数说明:返回值:true:打开成功 false:打开失败

示例:

 boolean isOpen = ZtlManager.GetInstace().openWatchDog();//isOpen 为是否打开看门狗功能

关闭看门狗

函数:public boolean closeWatchDog()

描述:关闭看门狗,停止喂狗

参数说明:返回值:true:关闭成功 false:关闭失败

示例:

 boolean isClose = ZtlManager.GetInstace().closeWatchDog();//isClose 为是否已关闭看门狗

判断看门狗是否正在运行

函数:public boolean isRunWatchDog()

描述:判断看门狗是否正在运行

参数说明:返回值:true:看门狗正在运行 false:看门狗未运行

示例:

 boolean isRun = ZtlManager.GetInstace().isRunWatchDog();//isRun 为判断看门狗是否正在运行

读取看门狗的值

函数:public String watchDogValue()

描述:判断看门狗是否正在运行

参数说明:返回值:1:打开看门狗 2:看门狗喂狗 3:关闭看门狗

示例:

 String value = ZtlManager.GetInstace().watchDogValue();//value 为获取到的看门狗的值

设置锁屏

函数:public void lockScreenSettings(boolean bEnable, String password)

描述:设置安卓系统锁屏密码,设置完成后不会直接锁屏,需要调用lockScreen()接口。需要固件支持

参数说明:参数:bEnable:true:启用锁屏 false:不启用 password:设置锁屏密码

示例:

 ZtlManager.GetInstace().lockScreenSettings(true, "123456");//启用锁屏,设置密码为123456

锁屏

函数:public void lockScreen()

描述:使用lockScreenSettings()接口设置密码后,调用此接口即可设置锁屏,需要固件支持

示例:

 ZtlManager.GetInstace().lockScreen();//设置Android系统锁屏

执行cmd命令并获取返回值

函数:public static String execRootCmd(String cmd)

描述:执行cmd命令并获取命令返回值

示例:

 String strCmd = ZtlManager.GetInstace().execRootCmd("pm path com.ztl.test");//strCmd为获取到的cmd命令返回值

执行命令行

函数:public int execRootCmdSilent(String cmd)

描述:su执行命令行,如su失效,则执行testsu

示例:

 int result = ZtlManager.GetInstace().execRootCmdSilent("reboot");
 //返回值参考:https://blog.csdn.net/qq_35661171/article/details/79096786

设置开机自启动

函数:public void setBootPackageActivity(String pkgName,String pkgActivity)

描述:设置 Android 系统开机自启动 APP 包名和 类名

用途:如果嫌广播自启动麻烦,则可调用此接口。此 api 只支持一个 app。多次设置,只有最后一次设置有效。但这个接口和广播自启动一样,需要程序启动一次。

如果是生产环境中需要大批量多机器部署,则不现实。此时,可通过厂家发布固件内置 app,并将该 app 自启动。弊端:修改 build.prop 内置成系统应用(system/app 目录下)无法通过正常安装更新版本。

build.prop修改方法:

persist.sys.bootPkgName=com.ztl.test(填入需要自启动的包名)

persist.sys.bootPkgActivity=com.ztl.test.MainActivity(填入需要自启动的类名)

参数说明:pkgName:APP包名;pkgActivity:APP类名

示例:

 //设置【系统设置】为开机自启动
 ZtlManager.GetInstance.setBootPackageActivity("com.android.settings","com.android.settings.Settings");

获取设置的开机自启动APP的包名

函数:public String getBootPackageName()

描述:获取 Android 设备开机自启动的 APP 包名

参数说明:返回值:自启动APP包名

示例:

 String pkgName = ZtlManager.GetInstance.getBootPackageName();//pkgName 为获取到的开机自启动 APP 包名

获取设置的开机自启动APP的类名

函数:public String getBootPackageActivity()

描述:获取 Android 设备开机自启动的 APP 中的类名

参数说明:返回值:自启动APP类名

示例:

 String pkgActivity = ZtlManager.GetInstance.getBootPackageActivity();//pkgActivity 为获取到的开机自启动 APP 的 Activity 类名

启动另一个APP

函数:public void startActivity(String pkgName,String pkgActivity)

描述:启动另一个 APP,标准做法的一种封装,更易于使用。

参数说明:pkgName:要启动的APP包名;pkgActivity:要启动的APP类名

示例:

 //打开【系统设置】界面
 ZtlManager.GetInstance.startActivity("com.android.settings","com.android.settings.Settings");

静默安装APK

函数:public void installAppSilent(String filePath)

描述:静默安装指定路径的 APK 文件

备注:仅限于有 root 权限的固件使用。比如微信刷脸就不适用。没有 root 权限的用户可以调用如下接口完成此功能:InstallApp()、installAppAndStartUp()、installAppSilentAndRebootSystem()。

参数说明:filePath:APK文件路径。

示例:

 //静默安装 test.apk
 ZtlManager.GetInstance().installAppSilent("/sdcard/test.apk");

无需root权限静默安装APK

函数:public void installApp(String filePath)

描述:静默安装指定路径的 APK 文件

备注:此接口无需系统权限,但需系统固件支持。 验证方法见文末附注。

参数说明:filePath:APK文件安装路径。

示例:

 //静默安装 /sdcard/test.apk
 ZtlManager.GetInstance().installApp("/sdcard/test.apk");

卸载APP

函数:public void uninstallAppSilent(String packageName)

描述:卸载指定包名的 APP

参数说明:packageName:指定APP包名。

示例:

 //卸载包名为 com.dc.test 的apk
 ZtlManager.GetInstance().uninstallAppSilent("com.dc.test");

静默安装APK并且重启系统

函数:public void installAppSilentAndRebootSystem(String filePath,int reboot_in_sec)

备注:需系统固件支持。 验证方法见文末附注。

描述:静默安装 APK 并且重启 Android 系统。如果是广播自启动的程序, 有 可 能 会 重 启 后 无 法 正 常 启 动 。 所 以 除 非 必 须 重 启 系 统 , 否 则 推 荐 使 用 installAppAndStartUp()。

参数说明:filePath:APK所在路径;reboot_in_sec:安装开始时延迟多少秒后重启系统。

示例:

 //安装/sdcard/目录下的test.apk,并且在10秒后重启安卓系统
 ZtlManager.GetInstance().installAppSilentAndRebootSystem("/sdcard/test.apk", "10");

安装APP并启动安装的APP

函数:public void installAppAndStartUp(String filePath,String pkgName)

备注:需系统固件支持。 验证方法见文末附注。

描述:安装 APK,并且在安装完成后启动所安装的 APP

参数说明:filePath:APK所在路径;pkgName:要启动的APP包名。

示例:

 //安装/sdcard/目录下的test.apk,并且在安装完成后启动包名为"com.dc.test"的APK
 ZtlManager.GetInstance().installAppAndStartUp("/sdcard/test.apk", "com.dc.test");

守护进程

函数:接口1:public void keepActivity(String pkgName)

备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice

描述:保持APP置顶状态。在程序被切换到后台或关闭时,自动返回或启动该 app。保持该 app 在前端。用于售货机 ATM 广告机 等必须保活的应用。当需要打开系统设置界面或运行其他 app 暂时进行其他设置时,请先调用取消接口。否则会一直保持 app 置顶导致无法操作。

参数说明:pkgName:需要保持置顶的APP

示例:

 //保持包名为"com.dc.test"的 APP 置顶状态
 ZtlManager.GetInstance().keepActivity("com.dc.test");

函数:接口2:public void keepActivity(String pkgName, int sec)

备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice

描述:保持APP置顶状态。在程序被切换到后台或关闭时,自动返回或启动该 app。保持该 app 在前端。用于售货机 ATM 广告机 等必须保活的应用。当需要打开系统设置界面或运行其他 app 暂时进行其他设置时,请先调用取消接口。否则会一直保持 app 置顶导致无法操作。

参数说明:pkgName:需要保持置顶的APP;sec:设置保活时间,最低为2,如设置为2,会在守护程序退出后2s后进行拉起。

示例:

 //保持包名为"com.dc.test"的 APP 置顶状态,设置保活时间为2s
 ZtlManager.GetInstance().keepActivity("com.dc.test", 2);

取消守护进程

函数:public void unKeepActivity()

备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice

描述:取消守护进程,取消置顶状态。

示例:

 //取消守护进程
 ZtlManager.GetInstance().unKeepActivity();

保活某个服务

函数:接口1:public void keepService(String packageName, String service)

备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice

描述:保活某个服务,不被系统回收。

参数说明:packageName:保活服务的APP包名;service:需要保活的服务。

示例:

 //保活服务"com.dc.test.testService"不被系统回收
 ZtlManager.GetInstance().keepService("com.dc.test", "com.dc.test.testService");

函数:接口2:public void keepService(String packageName, String service, int sec)

备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice

描述:保活某个服务,不被系统回收。

参数说明:packageName:保活服务的APP包名;service:需要保活的服务;sec:设置保活时间,最低为2s

示例:

 //保活服务"com.dc.test.testService"不被系统回收,设置每2s检测一次
 ZtlManager.GetInstance().keepService("com.dc.test", "com.dc.test.testService", 2);

取消保活某个服务

函数:public void unKeepService()

备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice

描述:取消保活某个服务,此操作并不会杀死这个服务。

示例:

 //取消保活服务
 ZtlManager.GetInstance().unKeepService();

APP使用硬件看门狗

函数:public void WatchDog()

描述:APP使用硬件看门狗,自动禁止系统喂狗

备注:

1.硬件要支持

2.系统要支持(设置-其他设置 版本号大于等于 20211029)

3.系统开机默认是系统自动喂狗

4.调用此接口,系统自动停止喂狗,由用户自己喂狗,不继续喂狗,系统会自动重启(200秒左右,具体时间按实际为准)

5.调此接口就是喂狗一次,需要重复调用,建议20秒喂一次

6.要把板子的跳线帽拔掉,才启用看门狗,不拔,看门狗无效,不会重启系统

说明:调用此接口后,继续调用feedHardwareWatchDog();即可进行app喂狗
示例:

 ZtlManager.GetInstance().WatchDog();

时间

获取系统日期

函数:public String getSystemDate()

描述:获取 Android 设备系统日期

参数说明:返回值:获取Android系统日期,格式为 yyyy/MM/dd。

示例:

 String systemDate = ZtlManager.GetInstance().getSystemDate(); //systemDate 为获取到的 Android 系统日期

获取系统时间

函数:public String getSystemTime()

描述:获取 Android 设备系统时间

参数说明:返回值:获取Android系统时间,格式为 HH:mm:ss。

示例:

 String systemTime = ZtlManager.GetInstance().getSystemTime(); //systemTime 为获取到的 Android 系统时间

立刻同步网络时间

函数:public void syncNetworkTime()

描述:获取 Android 设备系统日期

备注:需系统固件支持。 验证方法见文末附注。

用途:一般来说,系统联网的情况下,时间都会同步。但如果应用程序对时间精度有更高要 求,可以通过此接口强行同步时间。

示例:

 //设置Android系统立刻同步时间
 ZtlManager.GetInstance.syncNetworkTime();

设置同步时间的间隔

函数:public void syncNetworkTimePeroid(int peroidInMinute)

描述:设置同步网络时间间隔。

备注:需系统固件支持。 验证方法见文末附注。

参数说明:peroidInMinute:同步时间周期,分钟制。

示例:

 //间隔 10 分钟同步一次网络时间
 ZtlManager.GetInstance().syncNetworkTimePeroid(10);

设置系统日期与时间

函数:public void setSystemTime(Calendar cal)

描述:设置 Android 设备系统日期与时间。

备注:需系统固件支持。 验证方法见文末附注。

参数说明:cal:传入需要设置的时间即可。

示例:

 //设置 Android 设备系统日期时间为 2020 年 10 月 10 日 10 时 10 分
 Calendar cal = Calendar.getInstance();
 cal.set(2020,10,10,10,10);
 ZtlManager.GetInstance().setSystemTime(cal);

函数:public void setSystemTime(long timeinmili)

描述:设置 Android 设备系统日期与时间。

备注:需系统固件支持。 验证方法见文末附注。

参数说明:timeinmili:传入需要设置的时间即可(毫秒)。

示例:

 //设置 Android 设备系统日期时间为 2020 年 10 月 10 日 10 时 10 分
 long setTime = 1602295800000;
 ZtlManager.GetInstance().setSystemTime(setTime);

判断系统的时区是否为自动获取

函数:public boolean isAutoTimezone()

描述:判断 Android 系统的时区是否为自动获取

参数说明:返回值:true:自动获取;false:手动设置。

示例:

 boolean isAutoTimezone = ZtlManager.GetInstance().isAutoTimezone(); //isAutoTimezone 为获取到的 Android 系统时区状态

设置系统时区开关

函数:public void setAutoTimezone(boolean bAuto)

描述:设置 Android 系统的自动选择时区开关

参数说明:bAuto:true:自动获取;false:手动设置。

备注:需要程序成为系统程序或申请相关权限:
android:sharedUserId=“android.uid.system”
android:name=“android.permission.WRITE_SETTINGS”
android:name=“android.permission.WRITE_SECURE_SETTINGS”
android:name=“android.permission.SET_TIME_ZONE”
示例:

 //设置 Android 设备系统时区为自动获取
 ZtlManager.GetInstance().setAutoTimezone(true);

判断系统的时间是否自动获取

函数:public boolean isAutoDateTime()

描述:判断 Android 系统的时间是否为自动获取

参数说明:返回值:true:自动获取;false:手动设置。

示例:

 boolean autoDateTime = ZtlManager.GetInstance().isAutoDateTime(); //autoDateTime 为判断系统的时间是否自动获取

设置系统的自动确定日期与时间开关

函数:public void setAutoDateTime(boolean bAuto)

描述:设置Android系统的自动确定日期与时间的开关

参数说明:bAuto:true:自动获取;false:手动设置。

备注:需要程序成为系统程序或申请相关权限:
android:sharedUserId=“android.uid.system”
android:name=“android.permission.WRITE_SETTINGS”
android:name=“android.permission.WRITE_SECURE_SETTINGS”
android:name=“android.permission.SET_TIME_ZONE”
示例:

 //设置 Android 设备系统日期与时间为自动获取
 ZtlManager.GetInstance().setAutoDateTime(true);

定时关机

函数:public void setSchedulePowerOff(int hour, int minute, boolean enableSchedulPowerOff)

描述:设置 Android 系统定时关机,有效期为每天

参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOff:使能/关闭定时关机

备注:使能或者关闭定时开关机功能,直接设置第三个参数为true(使能)/false(关闭)—该接口已废弃,推荐使用新接口:setPoweroffEveryday();参数不变

示例:

 //设置 Android 设备 12:10 每天定时关机
 ZtlManager.GetInstance().setSchedulePowerOff(12,10,true);

定时开机

函数:public void setSchedulePowerOn(int hour, int minute, boolean enableSchedulPowerOn)

描述:设置 Android 系统定时开机,有效期为每天

参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOn:使能/关闭定时开机

备注:使能或者关闭定时开关机功能,直接设置第三个参数为true(使能)/false(关闭)—该接口已废弃,推荐使用新接口:setPoweronEveryday();参数不变

示例:

 //设置 Android 设备 12:11 每天定时开机
 ZtlManager.GetInstance().setSchedulePowerOn(12,11,true);

设置系统指定某天定时关机

函数:public void setPowerOffAlarm(int year, int month, int day, int hour, int minute, boolean enableSchedulPowerOff)

描述:设置 Android 系统定时关机,有效期为一次性

参数说明:year:年;month:月;day:日;hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOff:使能/关闭定时关机

说明:该接口已废弃,推荐使用新接口:setPoweroffOnce();参数不变

示例:

 //设置 Android 设备 2020 年 7 月 12 日 12:12 定时关机
 ZtlManager.GetInstance().setPowerOffAlarm(2020,7,12,12,12,true);

设置系统指定某天定时开机

函数:public void setPowerOnAlarm(int year, int month, int day, int hour, int minute, boolean enableSchedulPowerOn)

描述:设置 Android 系统定时开机,有效期为一次性

参数说明:year:年;month:月;day:日;hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOn:使能/关闭定时开机

说明:该接口已废弃,推荐使用新接口:setPoweronOnce();参数不变

示例:

 //设置 Android 设备 2020 年 7 月 12 日 12:13 定时开机
 ZtlManager.GetInstance().setPowerOnAlarm(2020, 7, 12, 12, 13, true);

自定义周期定时关机

函数:public void setPoweroffCustom(int hour, int minute, int weekDays, boolean bEnable)

描述:设置 Android 系统自定义定时关机

参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);weekDays:周期,计算周期方式:计算器-程序员-按位计算,一周为七天,第一位为周日(数值为1),第二位为周一(数值为2),第三位为周二(数值为4),第四位为周三(数值为8),第五位为周四(数值为16),第六位为周五(数值为32),第七位为周六(数值为64),可按照数值相加,来定制自定义周期定时关机,可填入0(代表执行一次),填入127(代表每天);bEnable:使能/关闭定时关机

示例:

 //设置 Android 设备 周一至周五12:10定时关机
 ZtlManager.GetInstance().setPoweroffCustom(12, 10, 62, true);

自定义周期定时开机

函数:public void setPoweronCustom(int hour, int minute, int weekDays, boolean bEnable)

描述:设置 Android 系统自定义定时开机

参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);weekDays:周期,计算周期方式:计算器-程序员-按位计算,一周为七天,第一位为周日(数值为1),第二位为周一(数值为2),第三位为周二(数值为4),第四位为周三(数值为8),第五位为周四(数值为16),第六位为周五(数值为32),第七位为周六(数值为64),可按照数值相加,来定制自定义周期定时关机,可填入0(代表执行一次),填入127(代表每天);bEnable:使能/关闭定时开机

示例:

 //设置 Android 设备 周一至周五12:11定时开机
 ZtlManager.GetInstance().setPoweronCustom(12, 11, 62, true);

定时重启

函数:public void timingReboot(int hour, int minute, int week, boolean enable)

描述:设置 Android 系统定时重启,可自选周期

参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);
week:周期,计算周期方式:计算器-程序员-按位计算,一周为七天,第一位为周日(数值为1),第二位为周一(数值为2),第三位为周二(数值为4),第四位为周三(数值为8),第五位为周四(数值为16),第六位为周五(数值为32),第七位为周六(数值为64),可按照数值相加,来定制自定义周期定时重启,可填入0(代表执行一次),填入127(代表每天);
enable:使能/关闭定时重启

示例:

 //设置 Android 设备 周一至周五中午十二时重启
 ZtlManager.GetInstance().timingReboot(12, 0, 62, true);

设置系统指定某天定时重启

函数:public void timingRebootAlarm(int year, int month, int day, int hour, int minute, boolean enable)

描述:设置 Android 系统定时重启,执行一次

参数说明:year:年;month:月;day:日;hour:时;minute:分;enable:使能\关闭定时重启

示例:

 //设置 Android 设备 2021年5月1日12时重启
 ZtlManager.GetInstance().timingRebootAlarm(2021, 5, 1, 12, 0, true);

显示

获取屏幕分辨率

函数:public String getDisplayMode()

描述:获取 Android 系统的屏幕分辨率

参数说明:返回值:获取Android设备的屏幕分辨率

示例:

 String displayMode = ZtlManager.GetInstance().getDisplayMode(); //displayMode 为 Android 系统的屏幕分辨率

获取屏幕分辨率Y轴像素

函数:public int getDisplayHeight()

描述:获取 Android 设备显示分辨率 Y 轴像素

参数说明:返回值:获取Android设备的分辨率Y轴像素

示例:

 int screenHeight = ZtlManager.GetInstance().getDisplayHeight(); //screenHeight 为 Android 设备的显示分辨率 Y 轴像素

获取屏幕分辨率X轴像素

函数:public int getDisplayWidth()

描述:获取 Android 设备显示分辨率 X 轴像素

参数说明:返回值:获取Android设备的分辨率X轴像素

示例:

 int screenWidth = ZtlManager.GetInstance().getDisplayWidth(); //screenWidth 为 Android 设备的显示分辨率 X 轴像素

获取屏幕显示密度

函数:public int getDisplayDensity()

描述:获取 Android 设备屏幕显示密度(dpi)

参数说明:返回值:获取Android设备显示密度

示例:

 int screenDpi = ZtlManager.GetInstance().getDisplayDensity(); //screenDpi 为 Android 设备的屏幕显示密度

设置屏幕显示密度

函数:public void setDisplayDensity(int dips)

描述:设置 Android 设备屏幕显示密度(dpi)

备注:此接口会导致系统重启,重启生效。

参数说明:dpis:支持120;160;240;320;或其他自定义值

示例:

 //设置 Android 设备屏幕显示密度为 120
 ZtlManager.GetInstance().setDisplayDensity(120);

是否设置背光反向

函数:public void reverseBrighness(boolean true_or_false)

描述:设置背光是否反向

备注:如果出现背光反向问题(即为调整亮度,调整越亮实际变暗,或者调整亮度越暗实际 变亮),可使用该接口来调整背光问题。

参数说明:true_or_false:true:调整背光为反向;false:不调整。

示例:

 //设置 Android 设备背光反向
 ZtlManager.GetInstance().reverseBrighness(true);

获取背光是否已反向

函数:public boolean isReverseBrighness()

描述:获取 Android 设备背光是否已方向

参数说明:返回值:true:已反向;false:未反向。

示例:

 boolean isReverse = ZtlManager.GetInstance().isReverseBrighness(); //isReverse 为获取到的背光方向信息

获取当前亮度

函数:public int getSystemBrightness()

描述:获取 Android 设备系统当前亮度

参数说明:返回值:Android系统亮度。

示例:

 int systemBri = ZtlManager.GetInstance().getSystemBrightness(); //systemBri 为 Android 系统当前亮度

获取最大亮度值

函数:public int getSystemMaxBrightness()

描述:获取 Android 设备系统最大亮度值

参数说明:返回值:Android系统最大亮度值。

示例:

 int maxBrightness = ZtlManager.GetInstance().getSystemMaxBrightness(); //maxBrightness 为 Android 系统最大亮度

增大亮度值

函数:public void increaseBrightness()

描述:设置系统亮度+1

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //设置 Android 系统亮度+1
 ZtlManager.GetInstance().increaseBrightness();

降低亮度值

函数:public void decreaseBrightness()

描述:设置系统亮度-1

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //设置 Android 系统亮度-1
 ZtlManager.GetInstance().decreaseBrightness();

设置系统亮度

函数:public void setBrightness(int brightness)

描述:设置系统亮度

备注:HDMI 和 VGA 暂不支持调整,需系统固件支持。 验证方法见文末附注。

参数说明:brightness:亮度值:0-255。
示例:

 //设置 Android 系统亮度为 200
 ZtlManager.GetInstance().setBrightness(200);

设置屏幕方向

函数:public void setDisplayOrientation(int rotation)

描述:设置 Android 系统显示方向

备注:一般用于固件默认方向和实际屏幕不一致时使用。当 app 需要适应屏幕方向时,推荐 app 做处理而不是旋转整个系统。

参数说明:rotation:0:0度;90:90度(默认角度旋转90度);180:180度(默认角度旋转180度);270:270度(默认角度旋转270度)。

示例:

 //设置 Android 系统屏幕方向旋转 90 度
 ZtlManager.GetInstance().setDisplayOrientation(90);

设置副屏方向

函数:public void setExtendDisplayOrientation(int rotation)

描述:设置 Android 系统副屏显示方向

备注:一般用于固件默认方向和实际屏幕不一致时使用。当 app 需要适应屏幕方向时,推荐 app 做处理而不是旋转整个系统。

参数说明:rotation:0:0度;90:90度(默认角度旋转90度);180:180度(默认角度旋转180度);270:270度(默认角度旋转270度)。

示例:

 //设置 Android 系统副屏方向旋转 90 度
 ZtlManager.GetInstance().setExtendDisplayOrientation(90);

设置多屏幕方向

函数:public int setDisplayOrientation(int screen, int rotation)

描述:设置 Android 系统多屏幕方向

备注:一般用于固件默认方向和实际屏幕不一致时使用。当 app 需要适应屏幕方向时,推荐 app 做处理而不是旋转整个系统。

参数说明:screen:要设置的屏幕:0:主屏;1:副屏1;2:副屏2…以此类推,-1为同时显示;

rotation:0:0度;90:90度(默认角度旋转90度);180:180度(默认角度旋转180度);270:270度(默认角度旋转270度)。

返回值:-1:不支持;0:设置成功
示例:

 //设置 Android 系统所有屏幕方向旋转 90 度
 int value = ZtlManager.GetInstance().setDisplayOrientation(-1, 90);

获取屏幕方向

函数:接口1:public int getDisplayOrientation()

描述:获取 Android 系统屏幕显示方向

参数说明:返回值:0:当前屏幕方向为0度;90:当前屏幕方向为90度;180:当前屏幕方向为180度;270:当前屏幕方向为270度。

示例:

 int rotation = ZtlManager.GetInstance().getDisplayOrientation(); //rotation 为获取到的 Android 系统屏幕显示方向

函数:接口2:public int getDisplayOrientation(int screen)

描述:获取 Android 系统指定屏幕显示方向

参数说明:返回值:-1:不支持此功能;0:当前屏幕方向为0度;90:当前屏幕方向为90度;180:当前屏幕方向为180度;270:当前屏幕方向为270度。

screen:0:获取主屏方向;1:获取副屏1屏幕方向;2:获取副屏2屏幕方向

示例:

 int rotation = ZtlManager.GetInstance().getDisplayOrientation(0); //rotation 为获取到的 Android 系统主屏显示方向

设置触摸方向

函数:public void setTouchOrientation(int orientation, boolean rebootnow)

描述:设置 Android 系统触摸方向(重启生效)

备注:仅限于触摸屏上下左右同时互反的时候设置起作用。如设置完仍不起作用,请联系厂 家技术支持。

参数说明:orientation:0:触摸方向顺时针旋转0度;90:触摸方向顺时针旋转90度;180:触摸方向顺时针旋转180度;270:触摸方向顺时针旋转270度。rebootnow:true:执行重启;false:不执行重启。

示例:

 //设置 Android 系统触摸方向方向顺时针 90 度并且重启
 ZtlManager.GetInstance().setTouchOrientation(90,true);

获取触摸方向

函数:public int getTouchOrientation()

描述:获取 Android 设备触摸方向

参数说明:返回值:0:当前触摸方向为0度;90:当前触摸方向为90度;180:当前触摸方向为180度;270当前触摸方向为270度;

示例:

 int TpOrientation = ZtlManager.GetInstance().getTouchOrientation(); //TpOrientation 为获取到的 Android 系统触摸方向

获取支持的分辨率列表

函数:public String[] getScreenModes()

描述:获取 Android 支持的分辨率列表

注意:3288-5.1 与 3288-7.1 此接口返回 null,暂不支持获取分辨率列表,如果其他版型获取到的分辨率列表为空,请检查 HDMI 连接是否正常。

参数说明:返回值:获取屏幕支持的分辨率列表。

示例:

 String modes[] = ZtlManager.GetInstance().getScreenModes(); //modes[]为 Android 系统屏幕支持的分辨率

设置分辨率

函数:public void setScreenMode(String mode)

描述:设置 Android 系统输出分辨率,系统将进入重启。(重启生效)

说明:此接口适用于 lvds,替换屏参的一种方式。

参数说明:mode:需要设置的分辨率,具体参考系统支持的分辨率。

示例:

 //设置系统输出分辨率为 1920x1080 模式
 ZtlManager.GetInstance().setScreenMode("1920x1080@60p");

设置桌面壁纸

函数:public void setWallpaper(String filePath)

描述:设置Android系统桌面壁纸,需要固件支持

参数说明:filePath:壁纸所在路径,如"/sdcard/1.png"

示例:

 ZtlManager.GetInstace().setWallpaper("/sdcard/1.png");//设置Android系统桌面壁纸为/sdcard/目录下的1.png

设置字体大小

函数:public void setFontSize(int index)

描述:设置Android系统字体大小

参数说明:index:1:较小; 2:正常; 3:较大; 4:最大

示例:

 ZtlManager.GetInstace().setFontSize(4);//设置Android系统字体为最大显示

获取固件所支持的屏幕个数

函数:public int getDisplayCount()

描述:获取固件所支持的屏幕个数

参数说明:返回值:获取支持显示屏幕个数

示例:

 int count = ZtlManager.GetInstace().getDisplayCount();//count为获取固件支持屏幕个数

网络

获取MAC地址

函数:public String getMacAddress()

描述:获取 Android 系统 MAC 地址。这里获取的是 eth0 节点的 mac

参数说明:返回值:Android设备MAC地址。

示例:

 String MacAddress = ZtlManager.GetInstance().getMacAddress(); //MacAddress 为获取到的 Android 系统 Mac 地址

获取IPv4地址

函数:public String getLocalIpAddress()

描述:获取 Android 系统 IPv4 地址

备注:需要申请权限:android:name=“android.permission.ACCESS_NETWORK_STATE”

参数说明:返回值:Android设备APv4地址。

示例:

 String IPv4Address = ZtlManager.GetInstance().getLocalIpAddress(); //IPv4Address 为获取到的 Android 系统 IPv4 地址

获取当前连接的网络类型

函数:public int getNetWorkType()

描述:获取 Android 系统当前连接的网络类型

备注:一般用于检测 wifi 和以太网同时连接时判断连接的是哪个网络。

需要申请权限:android:name=“android.permission.ACCESS_NETWORK_STATE”

参数说明:返回值:-1:未知网络;0:以太网;1:wifi;2:2g;3:3g;4:4g;5:5g

示例:

 int netWorkType = ZtlManager.GetInstance().getNetWorkType(); //NetWorkType 为返回的当前联网类型

指定wifi掉线重连

函数:public void keepWifiConnect(String SSID, String password)

描述:连接指定 wifi 断线重连。由于 wifi 信号强度差或所连的 wifi 网络不可达等原因, 系统有时不会重连到指定网络。启用这个功能后,系统会保持连接到指定 wifi。请确保所 用的 wifi 在信号范围内,且能正常连接。如果启用该功能后,锁定的 wifi 不在信号范围内, 可以正常连接其他 wifi。

备注:需系统固件支持。 验证方法见文末附注。

参数说明:SSID:WiFi名称;password:WiFi密码。

示例:

 //连接到指定的 wifi,并且保持断线重连状态
 ZtlManager.GetInstance().keepWifiConnect("ZTLDZ","12345678");

指定wifi停止掉线重连

函数:public void stopKeepWifiConnect()

描述:将 keepWifiConnect 配置的 wifi 不自动重连。此功能不会导致当前的 wifi 断开或关闭。

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //停止自动连接到指定 wifi
 ZtlManager.GetInstance().stopKeepWifiConnect();

禁用或启用网络ADB

函数:public void setNetAdb(boolea bEnable)

描述:启用:在没有 OTG 线的情况下,可启用网络 adb 连接网线进行调试。禁用:可保护主板信息不外泄。

参数说明:bEnable:true:启用网络adb调试;false:不启用网络adb调试。

示例:

 //设置 Android 设备启用网络 adb
 ZtlManager.GetInstance().setNetAdb(true);

打开热点

函数:public void openAp(String ssid, String psw)

描述:设置 Android 设备打开热点。

备注:需系统固件支持。 验证方法见文末附注。

说明:API 设置的热点名称如果小于6位,会自动在后面添加6位MAC地址,如果热点名称大于6位,不会自动加任何东西。

可通过固件修改工具修改 build.prop 来设置开机启动热点功能,用法如下: persist.ztl.openap=ZTL/123456789 就会生成 ZTL-MAC(后三位)的热点,密码 123456789

参数说明:ssid:热点名称;psw:热点密码。

示例:

 //设置 Android 设备打开热点:接入点名称为"Ztl-test",密码为"123456789"
 ZtlManager.GetInstance().openAp("Ztl-test","123456789");

关闭热点

函数:public void closeAp()

描述:关闭已打开的 Android 设备热点。

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //关闭已打开的 Android 设备热点
 ZtlManager.GetInstance().closeAp();

获取指定网络的IPv4地址

函数:public String getIPv4(String nettype)

描述:获取 Android 设备指定网络的 IPv4 地址。

参数说明:nettype:ech0:以太网;wlan0:wifi;ppp0:电话卡。返回值:获取到的IPv4地址

示例:

 String getIPv4address = ZtlManager.GetInstance().getIPv4("wlan0"); //getIPv4address 为获取到的wifi IPv4地址

设置以太网配置信息

函数:public void setEthIP(boolean bStatic, String ip, String mask, String gate, String dns, String dns2)

描述:设置 Android 设备以太网模式与配置信息,如以太网 ip 地址等。

备注:需系统固件支持。 验证方法见文末附注。

说明:如果需要设置动态获取,第一个参数传入false,其他参数传入null即可。

参数说明:bStatic:true:静态地址;false:动态获取。ip:需要设置的IP地址。mask:需要设置的子网掩码。gate:需要设置的网关。dns:需要设置的dns1。dns2:需要设置的dns2。

示例:

 //设 置 以 太 网 为 静 态 设 置 , ip 地 址 为 192.168.101.111 , 子 网 掩 码 地 址 为 : 255.255.255.0,网关地址为:192.168.101.5,dns 地址为:192.168.101.1,dns2 地址为: 192.168.101.2
 ZtlManager.GetInstance().setEthIP(false, "192.168.101.112", "255.255.255.0", "192.168.101.5", "192.168.101.1", "192.168.101.2");

设置以太网配置信息多网卡设置

函数:public void setEthIP(boolean bStatic,String name, String ip, String mask, String gate, String dns, String dns2)

描述:设置 Android 设备以太网模式与配置信息,如以太网 ip 地址等。

备注:需系统固件支持。(设置,其他设置,检测更新,版本大于等20220121)

说明:如果需要设置动态获取,第一个参数传入false和网卡名称,其他参数传入null即可。

参数说明:bStatic:true:静态地址;false:动态获取。name:网卡名称。ip:需要设置的IP地址。mask:需要设置的子网掩码。gate:需要设置的网关。dns:需要设置的dns1。dns2:需要设置的dns2。

示例:

 //设 置 以 太 网 eth0网卡为 静 态 设 置 , ip 地 址 为 192.168.101.111 , 子 网 掩 码 地 址 为 : 255.255.255.0,网关地址为:192.168.101.5,dns 地址为:192.168.101.1,dns2 地址为: 192.168.101.2
 ZtlManager.GetInstance().setEthIP(false,"eth0", "192.168.101.112", "255.255.255.0", "192.168.101.5", "192.168.101.1", "192.168.101.2");

设置WIFI配置信息

函数:public void setWifiIP(String ssid, String psw, boolean bStatic, String ip, String mask, String gate, String dns, String dns2)

描述:设置 Android 设备 wifi 配置信息,如:ip 地址等。

备注:需系统固件支持。 验证方法见文末附注。

说明:如果未连接 wifi,第一个第二个参数传入 wifi 名称和密码会自动连接该 wifi。

参数说明:ssid:wifi名称。psw:wifi密码。bStatic:true:静态地址;false:动态获取。ip:需要设置的IP地址。mask:需要设置的子网掩码。gate:需要设置的网关。dns:需要设置的dns1。dns2:需要设置的dns2。

示例:

 //设置连接 wifi 模式为静态设置,ip 地址为 192.168.101.111,子网掩码地址为: 255.255.255.0,网关地址为:192.168.101.5,dns 地址为:192.168.101.1,dns2 地址为: 192.168.101.2
 ZtlManager.GetInstance().setWifiIP("ztldz","12345678", true, "192.168.101.111", "255.255.255.0", "192.168.101.5", "192.168.101.1", "192.168.101.2");

设置WIFI热点

函数:public void setWifiApConfig(String SSID, String Password, int channel, int WifiMode, boolean enable)

描述:设置 Android 设备 wifi 热点配置信息

参数说明:SSID:热点名称。Password:热点密码。channel:频段设置,如149;153;157;161;165。WifiMode:设置WiFi频段,如:0:2.4G;1:5G。enable:taur:打开热点;false:关闭热点

示例:

 //设置打开wifi热点名称为:ztldz;wifi密码为12345678;频段设置为157;wifi频段设置为5G.
 ZtlManager.GetInstance().setWifiApConfig("ztldz","12345678", 157, 1, true);

启用或禁用4G模块断线自动重连

函数:public void enable4GReset(boolean bEnable)

描述:启用或禁用 4G 模块断线自动重连。

备注:需系统固件支持。 验证方法见文末附注。一般用于没有 4G 模块掉线自动重连的固件。批量生产请在 build.prop 中添加:persist.ztl.4greset=0/1

参数说明:bEnable:true:使能4G模块掉线重连;false:不使能4G模块掉线重连。

示例:

 //设置 Android 使能 4G 模块断线自动重连
 ZtlManager.GetInstance().enable4GReset(true)

获取4G模块IMEI信息

函数:public String getImei()

描述:获取 Android 系统 4G 模块的国际移动用户识别码(IMEI)

备注:需要 app 申请权限:android.permission.READ_PHONE_STATE

参数说明:返回值:4G模块IMEI信息

示例:

 String getImei = ZtlManager.GetInstance().getImei(); //getImei 为获取到的 Android 系统安装 4G 模块的 IMEI 信息

获取SIM卡TEL信息

函数:public String getSimTel()

描述:获取 Android 系统 SIM 卡的号码信息

备注:需要 app 申请权限:android.permission.READ_PHONE_STATE

参数说明:返回值:SIM 卡的号码信息

示例:

 String simtel = ZtlManager.GetInstance().getSimTel(); //simtel 为获取到的 Android 系统 SIM 卡的号码信息

获取SIM卡ICCID信息

函数:public String getSimIccid()

描述:获取 Android 系统 SIM 卡的 Iccid 信息

备注:需要 app 申请权限:android.permission.READ_PHONE_STATE

参数说明:返回值:SIM 卡的 ICCID 信息

示例:

 String simIccid = ZtlManager.GetInstance().getSimIccid(); //simIccid 为获取到的 Android 系统 SIM 卡的 Iccid 信息

获取SIM卡IMSI信息

函数:public String getSimImsi()

描述:获取 Android 系统 SIM 卡的国际移动用户识别码(IMSI)

备注:需要 app 申请权限:android.permission.READ_PHONE_STATE

参数说明:返回值:SIM 卡的 IMSI 信息

示例:

 String simIMSI = ZtlManager.GetInstance().getSimImsi(); //simIMSI 为获取到的 Android 系统 SIM 卡的号码信息

获取SIM卡运营商信息

函数:public String getSimOperator()

描述:获取 Android 系统 SIM 卡的运营商信息

备注:需要 app 申请权限:android.permission.READ_PHONE_STATE

参数说明:返回值:SIM 卡的运营商信息

示例:

 String simOperator = ZtlManager.GetInstance().getSimOperator(); //simOperator 为获取到的 Android 系统 SIM 卡的运营商信息

获取4G模块基带版本信息

函数:public String getBaseBand()

描述:获取4G模块基带版本信息

参数说明:返回值:4G模块基带版本信息

示例:

 String strBand = ZtlManager.GetInstance().getBaseBand(); 

设置APN

函数:public void setAPN(String apn)

描述:设置指定的APN

备注:注意:设置前应使用hasAPN接口查询系统是否支持这个接口和是否已存在此APN

参数说明:要设置的APN

示例:

 ZtlManager.GetInstance().setAPN("cnmet"); //设置cnmet

查询APN是否存在

函数:public String hasAPN(String apn)
描述:查询指定的APN是否存在

备注:查询apn是否存在

参数说明:要查询的APN

返回值:null表示没有初始化API或系统没有这接口,“-1”,不存在,其他已存在

示例:

 String flag = ZtlManager.GetInstance().hasAPN("cnmet"); //查询cnmet是否存在

文件

获取文件后缀名

函数:public String getFileType(String filePath)

描述:获取指定文件的后缀名

参数说明:filePath:文件路径;返回值:文件后缀名

示例:

 String fileType = ZtlManager.GetInstance().getFileType("/sdcard/test.apk"); //fileType 为获取到的文件后缀名

判断文件是否存在

函数:public boolean isExist(String path)

描述:获取指定路径文件的后缀名

参数说明:Path:文件路径;返回值:true:文件存在;false:文件不存在

示例:

 boolean isExist = ZtlManager.GetInstance().isExist("/sdcard/test.apk"); //isExist 为判断文件是否存在结果

计算GPIO值

函数:public int gpioStringToInt(String port)

描述:计算指定 GPIO 值

参数说明:port:GPIO口;返回值:GPIO值

示例:

 int gpiovalue = ZtlManager.GetInstance.gpioStringToInt("GPIO7_A5"); //gpiovalue 为计算 GPIO7_A5 的值

设置GPIO输出值

方法1:

函数:public void setGpioValue(String port, int value)

描述:将对应的 GPIO 设置为输出模式,并设置输出电平

备注:这只是个简易接口,为了更方便控制 GPIO 对象和提高执行效率,推荐使用 Gpio 类。

参数说明:port:GPIO口,具体IO口号参考IO口对应列表;value:1:输出高电平;0:输出低电平

示例:

 //设置 GPIO7_A5 为输出高电平
 ZtlManager.GetInstance().setGpioValue("GPIO7_A5 ",1);

方法2:

函数:public int setGpioValue(int type, boolean bIn, boolean bHigh)

描述:设置IO口的方向并设置值

备注:这只是个简易接口,为了更方便控制 GPIO 对象和提高执行效率,推荐使用 Gpio 类。

参数说明:type:GPIO口,对应规格书中的编号,如1、2、3等;bIn:true:设置输入模式;false:设置输出模式;bHigh:true:设置高电平;false:设置低电平

返回值说明:-1:IO口输入错误或IO口打开失败;-2:系统不支持该接口;1:设置成功

注意:当第二个参数设置成true时(设置IO口为输入模式),第三个参数设置无效。

示例:

 //设置规格书中IO口编号1为输出,并设置为高电平
 ZtlManager.GetInstance().setGpioValue(1, false, true);

获取GPIO值

方法1:

函数:public int getGpioValue(String port, String direction)

描述:获取指定 GPIO 的值。

参数说明:port:GPIO口,具体IO口号参考IO口对应列表;direction:in:输入;out:输出。返回值:GPIO的输出值

示例:

 int value = ZtlManager.GetInstance().getGpioValue("GPIO7_A5", "out"); //value 为获取到的 GPIO 输出值

方法2:

函数:public int getGpioValue(int type)

描述:获取指定GPIO口的值。

备注:这只是个简易接口,为了更方便控制 GPIO 对象和提高执行效率,推荐使用 Gpio 类。

参数说明:type:GPIO口,对应规格书中的编号,如1、2、3等;

返回值说明:-1:IO口输入错误或IO口打开失败;-2:系统不支持该接口;1:输入模式高电平;2:输入模式低电平;3:输出模式高电平;4:输出模式低电平

示例:

 //设置规格书中IO口编号1为输出,并设置为高电平
 int value = ZtlManager.GetInstance().getGpioValue(1); //value为获取GPIO编号1的值

设置GPIO方向

函数:public void setGpioDirection(String port, String direction)

描述:设置 GPIO 的方向。

参数说明:port:GPIO口,具体IO口号参考IO口对应列表;direction:in:输入;out:输出。

示例:

 //设置 GPIO7_A5 为输入状态
 ZtlManager.GetInstance().setGpioDirection("GPIO7_A5", "in");

获取GPIO方向

函数:public String getGpioDirection(String port)

描述:获取 GPIO 的方向值。

参数说明:port:GPIO口,具体IO口号参考IO口对应列表;返回值:in:输入;out:输出。

示例:

 String direction = ZtlManager.GetInstance().getGpioDirection("GPIO7_A5");//direction 为 GPIO7_A5 的方向值

打开器件存储器

函数:public boolean openZtlI2C(String filePath, int chipID, int addrLen)

描述:打开器件存储器

参数说明:filePath:器件存储器节点名称,如:“/dev/i2c-1”

chipID:写入的i2c器件地址,注意不要跟系统的起冲突,否则会导致系统加密校验失败起不来

addrLen:写入的地址长度,比如RC16就是1位地址长度(支持读取8位地址,也就是你只能在read接口和write接口参数1里传入0-255),RC128就是2位地址长度.具体看器件文档)

返回值:true:打开成功;false:打开失败

备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。

示例:

 boolean openI2C = ZtlManager.GetInstance().openZtlI2C("/dev/i2c-1", 0x30, 1);
//openI2C位打开返回的结果;"/dev/i2c-1"为器件节点名称;0x30为器件地址;1为写入地址位长度

铁电存储器专用写接口

函数:public void flashWrite(int addr, byte[]data, int nCount)

描述:铁电存储器专用写接口,使用前需要先调用:openZtlI2C()接口

参数说明:addr:写入的地址,如:0xa1、0xa2…等

data:写入内容,如:0x11,0x22,0x33…等

nCount:写入内容长度,如:1,代表读取存储器长度,需要和写入内容长度一致

备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。

示例:

 ZtlManager.GetInstance().flashWrite(0xa1, 0x111);//往0xa1地址写入0x11,长度为1的内容

铁电存储器专用读接口

函数:public byte[] flashRead(int addr, int nCount)

描述:铁电存储器专用读接口,使用前需要先调用:openZtlI2C()接口

参数说明:addr:读地址,地址长度为1时,请不要传入大于255的值,否则一切后果自负

nCount:需要读取的内容长度

备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。

示例:

 byte[] bRead = ZtlManager.GetInstance().flashRead(0xa1, 12);//读取0xa1地址中的12位内容;bRead为读取到的内容

加密芯片专用写接口

函数:public void chipWrite(int cmd, byte[] data, int nCount)

描述:加密芯片专用写接口,使用前需要先调用:openZtlI2C()接口

参数说明:cmd:芯片中程序代码的命令码

data:数据内容,如:0x11,0x22,0x33…等

nCount:写入内容长度,如:1,代表读取存储器长度,需要和写入内容长度一致

备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。

示例:

 ZtlManager.GetInstance().chipWrite(0xb1, 0x111);//往0xb1地址写入0x11,长度为1的内容

加密芯片专用读接口

函数:public byte[] chipRead(int cmd, int ncount)

描述:加密芯片专用读接口,如果调用写接口后需要马上读取,建议间隔时间为10ms或以上;使用前需要先调用:openZtlI2C()接口

参数说明:cmd:需要读取的内容,如芯片中代码的命令码,根据命令码返回的数据,如果要直接读取(如上次调用写接口后需要直接获取返回),需要传入-1

nCount:需要读取的内容长度

备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。

示例:

 byte[] bRead = ZtlManager.GetInstance().chipRead(0xb1, 12);//读取0xa1地址中的12位内容;bRead为读取到的内容

关闭器件存储器

函数:public void closeI2C()

描述:关闭器件存储器

备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。

示例:

 ZtlManager.GetInstance().closeI2C()//关闭器件存储器

禁止卸载app

函数:public int setUninstallPackage(String packageS)

描述:设置后,不可将app拖动至卸载框卸载。

参数说明:-1:系统不支持;1:设置成功;-2:设置失败;-3:异常错误

示例:

 int installok = ZtlManager.GetInstance().setUninstallPackage("com.ztl.test");//设置com.ztl.test禁止卸载,installok为返回参数

获取禁止卸载APP的包名

函数:public String getUninstallPackage()

描述:获取setUninstallPackage()接口设置的不可卸载app的包名

参数说明:返回值:禁止卸载app包名;1:系统不支持;error:异常错误

示例:

 string uninstallpkg = ZtlManager.GetInstance().getUninstallPackage();//uninstallpkg为获取禁止卸载app的包名

获取ADC数值

函数:public String getADCValue()

描述:获取ADC数值

参数说明:返回值:获取到的ADC数值

示例:

 string ADCValue = ZtlManager.GetInstance().getADCValue();//ADCValue为获取到的ADC数值

媒体

获取系统最大音量

函数:public int getSystemMaxVolume()

描述:获取 Android 系统最大媒体音量值。

参数说明:返回值:Android系统最大媒体音量

示例:

 int maxVolume = ZtlManager.GetInstance().getSystemMaxVolume();//maxVolume 为获取到的 Android 系统最大媒体音量值

获取系统当前音量

函数:public int getSystemCurrenVolume()

描述:获取 Android 系统当前媒体音量值

参数说明:返回值:Android系统当前媒体音量

示例:

 int currenVolume = ZtlManager.GetInstance().getSystemCurrenVolume();//currenVolume 为获取到的 Android 系统当前媒体音量值

增大音量

函数:public int setRaiseSystemVolume()

描述:设置 Android 系统媒体音量值+1

参数说明:返回值:0:设置成功;-1:设置失败。

示例:

 //设置 Android 系统媒体音量值+1
 ZtlManager.GetInstance().setRaiseSystemVolume();

降低音量

函数:public int setLowerSystemVolume()

描述:设置 Android 系统媒体音量值-1

参数说明:返回值:0:设置成功;-1:设置失败。

示例:

 //设置 Android 系统媒体音量-1
 ZtlManager.GetInstance().setLowerSystemVolume();

设置媒体音量值

函数:public int setSystemVolumeIndex(int index)

描述:设置 Android 系统媒体音量值

参数说明:index:设置Android系统媒体音量值。返回值:0:设置成功;-1:设置失败。

示例:

 //设置 Android 系统媒体音量值为 10
 ZtlManager.GetInstance().setSystemVolumeIndex(10);

设置指定音量的音量值

函数:public void setVolume(int streamType, int value)

描述:设置 Android 系统指定音量的音量值

参数说明:streamType:填入需要调整的音量,如:2:铃声音量 3:媒体音量 4:闹钟音量 value:设置Android系统铃声音量值。

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //设置 Android 系统铃声音量值为 5
 ZtlManager.GetInstance().setVolume(2, 5);

获取指定音量的音量值

函数:public int getVolume(int streamType)

描述:获取 Android 系统指定音量的音量值

参数说明:streamType:填入需要调整的音量,如:2:铃声音量 3:媒体音量 4:闹钟音量

示例:

 int value = ZtlManager.GetInstance().getVolume(2); //value为获取到的Android系统铃声音量

获取指定音量的最大音量值

函数:public int getMaxVolume(int streamType)

描述:获取 Android 系统指定音量的最大音量值

参数说明:streamType:填入需要调整的音量,如:2:铃声音量 3:媒体音量 4:闹钟音量

示例:

 int maxValue = ZtlManager.GetInstance().getMaxVolume(2); //maxValue为获取到的Android系统铃声音量

设置相机方向

函数:public void setCameraOrientation(int orientation)

描述:仅对 Android 系统相机 app 有效。

参数说明:orientation:0:0度;90:相机方向顺时针旋转90度;180:相机方向顺时针旋转180度;270:相机方向顺时针旋转270度。

示例:

 //设置 Android 系统相机方向顺时针旋转 90 度
 ZtlManager.GetInstance().setCameraOrientation(90);

获取相机方向

函数:public int getCameraOrientation()

描述:获取系统相机方向

参数说明:返回值:Android系统相机方向。

示例:

 int orientation = ZtlManager.GetInstance().getCameraOrientation();//orientation 为 Android 系统相机方向

判断相机是否镜像

函数:public boolean isCameraMirror()

描述:判断 Android 系统相机是否镜像

参数说明:返回值:true:镜像;false:非镜像。

示例:

 boolean cameraIsMirror = ZtlManager.GetInstance().isCameraMirror();//cameraIsMirror 结果为 Android 系统相机是否镜像

设置相机是否镜像

函数:public void setCameraMirror(boolean bMisrror)

描述:设置相机是否镜像

参数说明:bMisrror:true:镜像;false:非镜像。

示例:

 //设置 Android 系统相机为镜像
 ZtlManager.GetInstance().setCameraMirror(true);

其他

打开性能监控小程序

函数:public void openMonitor()

描述:打开性能监控,用于方便检查设备当前状态

备注:需系统固件支持。 验证方法见文末附注。

示例:

 //打开性能监控
 ZtlManager.GetInstance().openMonitor();

获取CPU可用频率

函数:public String[] getCPUFreq()

描述:获取 Android 系统 CPU 可用频率

备注:需系统固件支持。 验证方法见文末附注。

参数说明:返回值:获取Android系统CPU可用频率。

示例:

 String[] CPUFreq = ZtlManager.GetInstance().getCPUFreq();// CPUFreq 为CPU可用频率列表

设置CPU频率

函数:public void setCPUFreq(String cpuFreq)

描述:设置 Android 系统 CPU 频率

备注:必须是 getCPUFreq 返回的值其中一个。否则不起作用。设置过低可能会导致系统很卡。

参数说明:cpuFreq:设置Android系统CPU频率。

示例:

 //设置CPU频率为108000。
 ZtlManager.GetInstance().setCPUFreq("1008000");

附注

需要验证系统是否支持的API验证方法

1:使用adb命令:adb shell pm path com.ztl.helper

如果出现:package:/data/app/com.ztl.helper-1/base.apk,或其他路径,则系统支持。

如果为空,请联系厂家技术支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值