版本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();//获取设备版本
-
1 系统
- 获取jar版本
- 获取设备型号
- 获取系统版本
- 获取系统SDK版本
- 获取设备唯一ID
- 获取内部存储大小
- 获取剩余存储大小
- 获取剩余运行内存
- 获取内部SD卡路径
- 获取外部SD卡路径
- 获取插入U盘个数
- 获取指定索引U盘路径
- 获取U盘路径
- 休眠
- 唤醒
- 关机
- 重启
- 截取当前屏幕
- 设置系统桌面
- 设置普通APP为系统桌面
- 获取设置的系统桌面包名
- 判断包名对应的APP是否存在
- 恢复出厂设置
- 打开设置界面
- 打开WiFi界面
- 打开或关闭导航栏与状态栏
- 获取当前导航栏状态
- 设置USB调试状态
- 获取USB调试状态
- OTG功能开关
- 获取OTG口连接状态
- 设置生成序列号
- 获取生成的序列号
- 判断4G网络故障代码
- 判断系统是否支持看门狗功能
- 打开看门狗并喂狗
- 关闭看门狗
- 判断看门狗是否正在运行
- 读取看门狗的值
- 设置锁屏
- 锁屏
- 执行cmd命令并获取返回值
- 执行命令行
- 设置开机自启动
- 获取设置的开机自启动APP的包名
- 获取设置的开机自启动APP的类名
- 启动另一个APP
- 静默安装APK
- 无需root权限静默安装APK
- 卸载APP
- 静默安装APK并且重启系统
- 安装APP并启动安装的APP
- 守护进程
- 取消守护进程
- 保活某个服务
- 取消保活某个服务
- 硬件看门狗
-
2 时间
-
3 显示
-
4 网络
-
5 文件
-
6 媒体
-
7 其他
系统
获取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, 0x11,1);//往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, 0x11,1);//往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,或其他路径,则系统支持。
如果为空,请联系厂家技术支持。