Wiki » 历史记录 » 版本 2
研发-王志刚, 2022-03-11 11:20
1 | 2 | 研发-王志刚 | <p># 版本6.3</p><p><br/></p><p>## 导入JAR并初始化单件对象</p><p>* 1.导入ZtlManager包</p><p>```java</p><p>import ZtlApi.ZtlManager;</p><p>```</p><p>* 2.声明并实例化 ZtlManager 对象,注意,在实例化对象时需要传入参数 Context。</p><p>```java</p><p>ZtlManager.GetInstance().setContext(MainActivity.this);</p><p>或</p><p>ZtlManager.GetInstance().setContext(getApplicationContext());</p><p>```</p><p>* 3.开始调用其他API 比如</p><p>```java</p><p>ZtlManager.GetInstance().getDeviceVersion();//获取设备版本</p><p>```</p><p><br/></p><p>* 1 [系统](#系统)</p><p> * [获取jar版本](#获取jar版本)</p><p> * [获取设备型号](#获取设备型号)</p><p> * [获取系统版本](#获取系统版本)</p><p> * [获取系统SDK版本](#获取系统SDK版本)</p><p> * [获取设备唯一ID](#获取设备唯一ID)</p><p> * [获取内部存储大小](#获取内部存储大小)</p><p> * [获取剩余存储大小](#获取剩余存储大小)</p><p> * [获取剩余运行内存](#获取剩余运行内存)</p><p> * [获取内部SD卡路径](#获取内部SD卡路径)</p><p> * [获取外部SD卡路径](#获取外部SD卡路径)</p><p> * [获取插入U盘个数](#获取插入U盘个数)</p><p> * [获取指定索引U盘路径](#获取指定索引U盘路径)</p><p> * [获取U盘路径](#获取U盘路径)</p><p> * [休眠](#休眠)</p><p> * [唤醒](#唤醒)</p><p> * [关机](#关机)</p><p> * [重启](#重启)</p><p> * [截取当前屏幕](#截取当前屏幕)</p><p> * [设置系统桌面](#设置系统桌面)</p><p> * [设置普通APP为系统桌面](#设置普通APP为系统桌面)</p><p> * [获取设置的系统桌面包名](#获取设置的系统桌面包名)</p><p> * [判断包名对应的APP是否存在](#判断包名对应的APP是否存在)</p><p> * [恢复出厂设置](#恢复出厂设置)</p><p> * [打开设置界面](#打开设置界面)</p><p> * [打开WiFi界面](#打开WiFi界面)</p><p> * [打开或关闭导航栏与状态栏](#打开或关闭导航栏与状态栏)</p><p> * [获取当前导航栏状态](#获取当前导航栏状态)</p><p> * [设置USB调试状态](#设置USB调试状态)</p><p> * [获取USB调试状态](#获取USB调试状态)</p><p> * [OTG功能开关](#OTG功能开关)</p><p> * [获取OTG口连接状态](#获取OTG口连接状态)</p><p> * [设置生成序列号](#设置生成序列号)</p><p> * [获取生成的序列号](#获取生成的序列号)</p><p> * [判断4G网络故障代码](#判断4G网络故障代码)</p><p> * [判断系统是否支持看门狗功能](#判断系统是否支持看门狗功能)</p><p> * [打开看门狗并喂狗](#打开看门狗并喂狗)</p><p> * [关闭看门狗](#关闭看门狗)</p><p> * [判断看门狗是否正在运行](#判断看门狗是否正在运行)</p><p> * [读取看门狗的值](#读取看门狗的值)</p><p> * [设置锁屏](#设置锁屏)</p><p> * [锁屏](#锁屏)</p><p> * [执行cmd命令并获取返回值](#执行cmd命令并获取返回值)</p><p> * [执行命令行](#执行命令行)</p><p> * [设置开机自启动](#设置开机自启动)</p><p> * [获取设置的开机自启动APP的包名](#获取设置的开机自启动APP的包名)</p><p> * [获取设置的开机自启动APP的类名](#获取设置的开机自启动APP的类名)</p><p> * [启动另一个APP](#启动另一个APP)</p><p> * [静默安装APK](#静默安装APK)</p><p> * [无需root权限静默安装APK](#无需root权限静默安装APK)</p><p> * [卸载APP](#卸载APP)</p><p> * [静默安装APK并且重启系统](#静默安装APK并且重启系统)</p><p> * [安装APP并启动安装的APP](#安装APP并启动安装的APP)</p><p> * [守护进程](#守护进程)</p><p> * [取消守护进程](#取消守护进程)</p><p> * [保活某个服务](#保活某个服务)</p><p> * [取消保活某个服务](#取消保活某个服务)</p><p> * [硬件看门狗](#APP使用硬件看门狗)</p><p><br/></p><p>* 2 [时间](#时间)</p><p> * [获取系统日期](#获取系统日期)</p><p> * [获取系统时间](#获取系统时间)</p><p> * [立刻同步网络时间](#立刻同步网络时间)</p><p> * [设置同步时间的间隔](#设置同步时间的间隔)</p><p> * [设置系统日期与时间](#设置系统日期与时间)</p><p> * [判断系统的时区是否为自动获取](#判断系统的时区是否为自动获取)</p><p> * [设置系统时区开关](#设置系统时区开关)</p><p> * [判断系统的时间是否自动获取](#判断系统的时间是否自动获取)</p><p> * [设置系统的自动确定日期与时间开关](#设置系统的自动确定日期与时间开关)</p><p> * [定时关机](#定时关机)</p><p> * [定时开机](#定时开机)</p><p> * [设置系统指定某天定时关机](#设置系统指定某天定时关机)</p><p> * [设置系统指定某天定时开机](#设置系统指定某天定时开机)</p><p> * [自定义周期定时关机](#自定义周期定时关机)</p><p> * [自定义周期定时开机](#自定义周期定时开机)</p><p> * [定时重启](#定时重启)</p><p> * [设置系统指定某天定时重启](#设置系统指定某天定时重启)</p><p><br/></p><p>* 3 [显示](#显示)</p><p> * [获取屏幕分辨率](#获取屏幕分辨率)</p><p> * [获取屏幕分辨率Y轴像素](#获取屏幕分辨率Y轴像素)</p><p> * [获取屏幕分辨率X轴像素](#获取屏幕分辨率X轴像素)</p><p> * [获取屏幕显示密度](#获取屏幕显示密度)</p><p> * [设置屏幕显示密度](#设置屏幕显示密度)</p><p> * [是否设置背光反向](#是否设置背光反向)</p><p> * [获取背光是否已反向](#获取背光是否已反向)</p><p> * [获取当前亮度](#获取当前亮度)</p><p> * [获取最大亮度值](#获取最大亮度值)</p><p> * [增大亮度值](#增大亮度值)</p><p> * [降低亮度值](#降低亮度值)</p><p> * [设置系统亮度](#设置系统亮度)</p><p> * [设置屏幕方向](#设置屏幕方向)</p><p> * [设置副屏方向](#设置副屏方向)</p><p> * [设置多屏幕方向](#设置多屏幕方向)</p><p> * [获取屏幕方向](#获取屏幕方向)</p><p> * [设置触摸方向](#设置触摸方向)</p><p> * [获取触摸方向](#获取触摸方向)</p><p> * [获取支持的分辨率列表](#获取支持的分辨率列表)</p><p> * [设置分辨率](#设置分辨率)</p><p> * [设置桌面壁纸](#设置桌面壁纸)</p><p> * [设置字体大小](#设置字体大小)</p><p> * [获取固件所支持的屏幕个数](#获取固件所支持的屏幕个数)</p><p><br/></p><p>* 4 [网络](#网络)</p><p> * [获取MAC地址](#获取MAC地址)</p><p> * [获取IPv4地址](#获取IPv4地址)</p><p> * [获取当前连接的网络类型](#获取当前连接的网络类型)</p><p> * [指定wifi掉线重连](#指定wifi掉线重连)</p><p> * [指定wifi停止掉线重连](#指定wifi停止掉线重连)</p><p> * [禁用或启用网络ADB](#禁用或启用网络ADB)</p><p> * [打开热点](#打开热点)</p><p> * [关闭热点](#关闭热点)</p><p> * [获取指定网络的IPv4地址](#获取指定网络的IPv4地址)</p><p> * [设置以太网配置信息](#设置以太网配置信息)</p><p> * [设置以太网配置信息多网卡设置](#设置以太网配置信息多网卡设置)</p><p> * [设置WIFI配置信息](#设置WIFI配置信息)</p><p> * [设置WIFI热点](#设置WIFI热点)</p><p> * [启用或禁用4G模块断线自动重连](#启用或禁用4G模块断线自动重连)</p><p> * [获取4G模块IMEI信息](#获取4G模块IMEI信息)</p><p> * [获取SIM卡TEL信息](#获取SIM卡TEL信息)</p><p> * [获取SIM卡ICCID信息](#获取SIM卡ICCID信息)</p><p> * [获取SIM卡IMSI信息](#获取SIM卡IMSI信息)</p><p> * [获取SIM卡运营商信息](#获取SIM卡运营商信息)</p><p> * [获取4G模块基带版本信息](#获取4G模块基带版本信息)</p><p> * [设置APN](#设置APN)</p><p> * [查询APN](#查询APN是否存在)</p><p><br/></p><p>* 5 [文件](#文件)</p><p> * [获取文件后缀名](#获取文件后缀名)</p><p> * [判断文件是否存在](#判断文件是否存在)</p><p> * [计算GPIO值](#计算GPIO值)</p><p> * [设置GPIO输出值](#设置GPIO输出值)</p><p> * [获取GPIO值](#获取GPIO值)</p><p> * [设置GPIO方向](#设置GPIO方向)</p><p> * [获取GPIO方向](#获取GPIO方向)</p><p> * [打开器件存储器](#打开器件存储器)</p><p> * [铁电存储器专用写接口](#铁电存储器专用写接口)</p><p> * [铁电存储器专用读接口](#铁电存储器专用读接口)</p><p> * [加密芯片专用写接口](#加密芯片专用写接口)</p><p> * [加密芯片专用读接口](#加密芯片专用读接口)</p><p> * [关闭器件存储器](#关闭器件存储器)</p><p> * [禁止卸载app](#禁止卸载app)</p><p> * [获取禁止卸载APP的包名](#获取禁止卸载APP的包名)</p><p> * [获取ADC数值](#获取ADC数值)</p><p><br/></p><p>* 6 [媒体](#媒体)</p><p> * [获取系统最大音量](#获取系统最大音量)</p><p> * [获取系统当前音量](#获取系统当前音量)</p><p> * [增大音量](#增大音量)</p><p> * [降低音量](#降低音量)</p><p> * [设置媒体音量值](#设置媒体音量值)</p><p> * [设置指定音量的音量值](#设置指定音量的音量值)</p><p> * [获取指定音量的音量值](#获取指定音量的音量值)</p><p> * [获取指定音量的最大音量值](#获取指定音量的最大音量值)</p><p> * [设置相机方向](#设置相机方向)</p><p> * [获取相机方向](#获取相机方向)</p><p> * [判断相机是否镜像](#判断相机是否镜像)</p><p> * [设置相机是否镜像](#设置相机是否镜像)</p><p><br/></p><p>* 7 [其他](#其他)</p><p> * [打开性能监控小程序](#打开性能监控小程序)</p><p> * [获取CPU可用频率](#获取CPU可用频率)</p><p> * [设置CPU频率](#设置CPU频率)</p><p><br/></p><p># 系统 </p><p> ## 获取jar版本</p><p><br/></p><p> 函数:public String getJARVersion()<br></p><p> 描述:获取 jar 版本号<br></p><p> 用途:当用户拿到的 jar 版本和厂家公布的 jar 不一致时,建议更新。<br></p><p> 示例:</p><p>```java</p><p> String JARVersion = ZtlManager.GetInstance().getJARVersion();//JARVersion为获取到的jar版本号</p><p>```</p><p><br/></p><p> ## 获取设备型号</p><p><br/></p><p> 函数:public static String getDeviceVersion()<br></p><p> 描述:获取 Android 设备型号。<br></p><p> 用途:可以通过读取这个 api 适配不同的板子,写不同的功能代码。<br></p><p> 示例:</p><p>```java</p><p> String DeviceVersion = ZtlManager.GetInstance().getDeviceVersion();//DeviceVersion 为获取到的设备型号</p><p>```</p><p><br/></p><p> ## 获取系统版本</p><p><br/></p><p> 函数:public static String getAndroidVersion()<br></p><p> 描述:获取 Android 设备系统版本号<br></p><p> 用途:可以通过读取这个 api 适配不同的操作系统版本,写不同的功能代码。<br></p><p> 示例:</p><p>```java</p><p> String AndroidVersion = ZtlManager.GetInstance().getAndroidVersion();//AndroidVersion 为获取到的设备型号</p><p>```</p><p><br/></p><p> ## 获取系统SDK版本</p><p><br/></p><p> 函数:public int getSDKVersion()<br></p><p> 描述:获取 Android 设备系统版本号<br></p><p> 用途:可以通过读取这个 api 适配不同的操作系统,写不同的功能代码。<br></p><p> 示例:</p><p>```java</p><p> String getSDKVersion = ZtlManager.GetInstance().getSDKVersion();//getSDKVersion 为获取到的SDK版本号</p><p>```</p><p><br/></p><p> ## 获取设备唯一ID</p><p><br/></p><p> 函数:public String getDeviceID()<br></p><p> 描述:获取 Android 设备唯一序列号<br></p><p> 示例:</p><p>```java</p><p> String DeviceID = ZtlManager.GetInstance().getDeviceID();//DeviceID 为获取到的设备唯一ID</p><p>```</p><p><br/></p><p> ## 获取内部存储大小</p><p><br/></p><p> 函数:public long getTotalInternalMemorySize()<br></p><p> 描述:获取内部存储空间总大小,相当于电脑的硬盘空间大小<br></p><p> 用途:可以写一些监听内存的代码,转换 GB 需要将返回的结果/1024/1024/1024<br></p><p> 示例:</p><p>```java</p><p> long MemorySize = ZtlManager.GetInstance().getTotalInternalMemorySize();//MemorySize 为获取到设备内部存储大小(字节)</p><p>```</p><p><br/></p><p> ## 获取剩余存储大小</p><p><br/></p><p> 函数:public long getFreeMemory()<br></p><p> 描述:获取内部剩余存储空间大小<br></p><p> 用途:可以写一些监听内存的代码,转换 GB 需要将返回的结果/1024/1024/1024<br></p><p> 示例:</p><p>```java</p><p> long freeMemory = ZtlManager.GetInstance().getFreeMemory();//freeMemory 为获取到设备剩余存储大小(字节)</p><p>```</p><p><br/></p><p> ## 获取剩余运行内存</p><p><br/></p><p> 函数:public long getFreeMemorySize()<br></p><p> 描述:获取剩余的运行内存<br></p><p> 用途:可用于监听 app 内存使用情况,用来查看是否有内存泄漏。接口返回的是字节,转换 GB 需要/1024/1024/1024<br></p><p> 示例:</p><p>```java</p><p> long FreeMemorySize = ZtlManager.GetInstance().getFreeMemorySize();//FreeMemorySize 为获取到的剩余运行内存(字节)</p><p>```</p><p><br/></p><p> ## 获取内部SD卡路径</p><p><br/></p><p> 函数:public String getInternalSDCardPath()<br></p><p> 描述:获取 Android 设备内部 sdcard 路径<br></p><p> 示例:</p><p>```java</p><p> String sdcardPath = ZtlManager.GetInstance.getInternalSDCardPath();//sdcardPath 为 Android 设备内部 SDcard 路径</p><p>```</p><p><br/></p><p> ## 获取外部SD卡路径</p><p><br/></p><p> 函数:public String getExternalSDCardPath()<br></p><p> 描述:获取 Android 设备外部 sdcard 路径,比如说 TF 卡。<br></p><p> 示例:</p><p>```java</p><p> String externalSDCardPath = ZtlManager.GetInstance.getExternalSDCardPath();//externalSDCardPath 为 Android 设备外部 SD 卡路径</p><p>```</p><p><br/></p><p> ## 获取插入U盘个数</p><p><br/></p><p> 函数:public int getUSBDiskCount()<br></p><p> 描述:获取 Android 设备插入U盘个数<br></p><p> 示例:</p><p>```java</p><p> int USBDiskCunt = ZtlManager.GetInstance.getUSBDiskCount();//USBDiskCunt 为 Android 设备插入U盘个数</p><p>```</p><p><br/></p><p> ## 获取指定索引U盘路径</p><p><br/></p><p> 函数:public String getUSBDisk(int index)<br></p><p> 描述:获取 Android 设备指定索引U盘路径,适用于有多个U盘时使用<br></p><p> 参数说明:index:指定索引。<br></p><p> 示例:</p><p>```java</p><p> String USBPath = ZtlManager.GetInstance.getUSBDisk(1);//USBPath 为获取到的第1个U盘路径</p><p>```</p><p><br/></p><p> ## 获取U盘路径</p><p><br/></p><p> 函数:public String getUsbStoragePath()<br></p><p> 描述:获取 Android 设备 USB 储存器路径<br></p><p> 备注:因为监听系统广播的 media_mounted 返回的路径各个平台都不统一,所以如果想获取精确的U盘路径,推荐使用此接口。当U盘插入一段时间后,才能够返回正确的值。不插入U盘则返回 null。<br></p><p> 示例:</p><p>```java</p><p> String usbPath = ZtlManager.GetInstance.getUsbStoragePath();//usbPath 为 Android 设备的 U 盘存储器路径</p><p>```</p><p><br/></p><p> ## 休眠</p><p><br/></p><p> 函数:public void sleep()<br></p><p> 描述:设置 Android 系统进入休眠状态<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 说明:使用该接口不需要权限。在休眠状态下需定时执行唤醒语句,否则需要重启机器才能唤醒。<br></p><p> 注意:如果需要休眠后,要使当前 activity 继续运行,<br></p><p> 则需添加权限:android:name="android.permission.WAKE_LOCK" <br></p><p> 然后在 activity 里写: getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);<br></p><p> 示例:</p><p>```java</p><p> //Android 设备进入休眠状态</p><p> ZtlManager.GetInstance.sleep();</p><p>```</p><p><br/></p><p> ## 唤醒</p><p><br/></p><p> 函数:public void awake()<br></p><p> 描述:设置 Android 系统从休眠状态进入唤醒状态<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //Android 设备从休眠进入唤醒状态</p><p> ZtlManager.GetInstance.awake();</p><p>```</p><p><br/></p><p> ## 关机</p><p><br/></p><p> 函数:public void shutdown()<br></p><p> 描述:使 Android 系统进入关机状态。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 注意:在 OTG 连接到电脑的情况下,会导致关机变重启<br></p><p> 示例:</p><p>```java</p><p> //Android 系统进入关机状态</p><p> ZtlManager.GetInstance().shutdown();</p><p>```</p><p><br/></p><p> ## 重启</p><p><br/></p><p> 函数:public void reboot(int delay)<br></p><p> 描述:重启 Android 系统<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:delay:传入延迟时间,如不需要延迟,传入0即可<br></p><p> 示例:</p><p>```java</p><p> //10 秒后进入重启</p><p> ZtlManager.GetInstance().reboot(10);</p><p>```</p><p><br/></p><p> ## 截取当前屏幕</p><p><br/></p><p> 函数:public void startScreenShot(String path,String fileName)<br></p><p> 描述:截取当前屏幕并保存到指定路径<br></p><p> 参数说明:path:保存截图路径。fileName:文件名,后缀名需要为.png<br></p><p> 示例:</p><p>```java</p><p> //截取当前屏幕保存到/sdcard/1.png</p><p> ZtlManager.GetInstance.startScreenShot("/sdcard/","1.png");</p><p>```</p><p><br/></p><p> ## 设置系统桌面</p><p><br/></p><p> 函数:public void setLauncher(String pkgage,String Activity)<br></p><p> 描述:设置 Android 系统桌面,需要设置的 APP 必须已存在,否则设置不成功,且不报错。如果需要恢复成默认桌面,参数传入 null 即可。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:pkgage:需要设置桌面的APP包名。Activity:需要设置桌面的APP类名<br></p><p> 示例:</p><p>```java</p><p> /** 注意:设置的程序需要有以下属性成为桌面程序:</p><p> * <category android:name="android.intent.category.HOME"/> </p><p> * <category android:name="android.intent.category.DEFAULT"/> </p><p> */</p><p> //替换Android系统桌面</p><p> ZtlManager.GetInstance.setLauncher("com.ztl.test","com.ztl.test.MainActivity");</p><p>```</p><p><br/></p><p> ## 设置普通APP为系统桌面</p><p><br/></p><p> 函数:public void setDesktop(String pkgage)<br></p><p> 描述:设置 Android 系统桌面,需要设置的 APP 必须已存在,否则设置不成功,且不报错。如果需要恢复成默认桌面,参数传入 null 即可。<br></p><p> 参数说明:pkgage:需要设置桌面的APP包名<br></p><p> 示例:</p><p>```java</p><p> //替换Android系统桌面</p><p> ZtlManager.GetInstance.setDesktop("com.ztl.test");</p><p>```</p><p><br/></p><p> ## 获取设置的系统桌面包名</p><p><br/></p><p> 函数:public String getDesktop()<br></p><p> 描述:获取设置的系统桌面包名<br></p><p> 参数说明:返回值:返回设置的系统桌面包名<br></p><p> 示例:</p><p>```java</p><p> String desktop = ZtlManager.GetInstance.getDesktop(); //desktop为获取的系统桌面包名</p><p>```</p><p><br/></p><p> ## 判断包名对应的APP是否存在</p><p><br/></p><p> 函数:public boolean isAppExist(String pkgName)<br></p><p> 描述:判断包名对应的 APP 是否存在设备中<br></p><p> 参数说明:pkgName:需要判断的APP包名。boolean:返回值,true = 存在; false = 不存在。<br></p><p> 示例:</p><p>```java</p><p> boolean isAPPExist = ZtlManager.GetInstance().isAppExist(pkgName);//isAPPExist 为判断 APP 是否存在的返回值</p><p>```</p><p><br/></p><p> ## 恢复出厂设置</p><p><br/></p><p> 函数:public void resetSystem()<br></p><p> 描述:Android 系统恢复出厂设置<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //Android 设备恢复出厂设置</p><p> ZtlManager.GetInstance().resetSystem();</p><p>```</p><p><br/></p><p> ## 打开设置界面</p><p><br/></p><p> 函数:public void startSettings()<br></p><p> 描述:打开系统设置界面<br></p><p> 示例:</p><p>```java</p><p> //打开系统设置界面</p><p> ZtlManager.GetInstance().startSettings();</p><p>```</p><p><br/></p><p> ## 打开wifi界面</p><p><br/></p><p> 函数:public void startWifiSettings()<br></p><p> 描述:打开系统 Wifi 设置界面<br></p><p> 示例:</p><p>```java</p><p> //打开 Android 系统 Wifi 设置界面</p><p> ZtlManager.GetInstance().startWifiSettings();</p><p>```</p><p><br/></p><p> ## 打开或关闭导航栏与状态栏</p><p><br/></p><p> 函数:public void openSystemBar(boolean bOpen)<br></p><p> 描述:是否已打开 Android 设备导航栏与状态栏<br></p><p> 参数说明:bOpen:传入 true(显示)或 false(隐藏)即可<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备打开导航栏与状态栏</p><p> ZtlManager.GetInstance().openSystemBar(true);</p><p>```</p><p><br/></p><p> ## 获取当前导航栏状态</p><p><br/></p><p> 函数:public boolean isSystemBarOpen()<br></p><p> 描述:是否已打开 Android 设备导航栏与状态栏<br></p><p> 参数说明:返回值:true:显示;false:隐藏<br></p><p> 示例:</p><p>```java</p><p> boolean isSystemBarOpen = ZtlManager.GetInstance().isSystemBarOpen();//isSystemBarOpen 为导航栏与状态栏显示状态</p><p>```</p><p><br/></p><p> ## 设置USB调试状态</p><p><br/></p><p> 函数:public void openUsbDebug(boolean bOpen)<br></p><p> 描述:设置 Android 设备 USB 调试状态<br></p><p> 说明:cmd窗口可通过设置节点值实现:adb shell settings put global adb_enabled 0 ;0代表关闭,1代表打开(可用网络adb连接后设置)<br></p><p> 官方标准接口:Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ADB_ENABLED, 0);该接口需要程序设置为系统程序。<br></p><p> 参数说明:返回值:true:打开USB调试;false:关闭USB调试<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 USB 调试打开</p><p> ZtlManager.GetInstance().openUsbDebug(true);</p><p>```</p><p><br/></p><p> ## 获取USB调试状态</p><p><br/></p><p> 函数:public boolean isUsbDebugOpen()<br></p><p> 描述:判断 Android 系统 USB 调试是否已打开<br></p><p> 参数说明:返回值:true:USB调试已打开;false:USB调试未打开<br></p><p> 示例:</p><p>```java</p><p> boolean isUsbDebugOpen = ZtlManager.GetInstance().isUsbDebugOpen();//isUsbDebugOpen 为 USB 调试口状态</p><p>```</p><p><br/></p><p> ## OTG功能开关</p><p><br/></p><p> 函数:public boolean setUSBtoPC(boolean toPC)<br></p><p> 描述:设置 Android 设备 OTG 口连接状态。开,电脑才能识别这个设备。关就没有。开的时候可以通过 android studio 或者别的方式看 logcat,方便调试,发布等。但是发布后,推荐关闭。避免第三方 apk 安装或者系统信息被非法读取。如电脑识别不到 USB 连接时,请连续点击设备中的:设置/关于设备/版本号,开启开发者模式,当屏幕下方提示您已处于开发者模式时,返回设置界面,在下方会开启一个开发者选项,进入开发者选项,在调试中开启 USB 调试状态即可。<br></p><p> 参数说明:toPC:true:连接到PC;false:不连接PC<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备打开 OTG 调试口</p><p> ZtlManager.GetInstance().setUSBtoPC(true);</p><p>```</p><p><br/></p><p> ## 获取OTG口连接状态</p><p><br/></p><p> 函数:public boolean getUSBtoPC()<br></p><p> 描述:获取 Android 设备 OTG 口连接状态<br></p><p> 参数说明:返回值:true:OTG口已打开;false:OTG口未打开<br></p><p> 示例:</p><p>```java</p><p> boolean USBconnectPC = ZtlManager.GetInstance().getUSBtoPC();// USBconnectPC 为 OTG 口状态</p><p>```</p><p><br/></p><p> ## 设置生成序列号</p><p><br/></p><p> 函数:public void setBuildSerial(String sn)<br></p><p> 描述:设置 Android 设备序列号。这个对应的是 Build.SERIAL。一般用于微信刷脸设置主板序列号用<br></p><p> 参数说明:sn:设置Android设备序列号<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备序列号为"ztl-dz-test"</p><p> ZtlManager.GetInstance().setBuildSerial("ztl-dz-test");</p><p>```</p><p><br/></p><p> ## 获取生成的序列号</p><p><br/></p><p> 函数:public String getBuildSerial()<br></p><p> 描述:获取 Android 设备生成的序列号<br></p><p> 注意:获取到的序列号不保证唯一,如需唯一设备识别码,请使用CPUID,接口为:getDeviceID()<br></p><p> 参数说明:返回值:获取Android设备生成的序列号<br></p><p> 示例:</p><p>```java</p><p> String sn = ZtlManager.GetInstance().getBuildSerial();//sn 为获取到的 Android 设备生成的序列号</p><p>```</p><p><br/></p><p> ## 判断4G网络故障代码</p><p><br/></p><p> 函数:public static String get4gStatic(Context context)<br></p><p> 描述:判断4G网络故障代码,可用于获取到故障代码时,代码添加处理代码<br></p><p> 参数说明:参数说明:context:传入上下文,如:MainActivity.this等。<br>返回值:null:需要更新助手;<br>-101:助手没有可获取这个关键字值;<br></p><p>0:4G网络正常<br></p><p>1:没网络,但以注册<br></p><p>-1002:4G的GPIO错误<br></p><p>-2:4G模块断电状态<br></p><p>-3:4G模块上电状态<br></p><p>-4:没有注册,没有搜索到运营商<br></p><p>-5:没有注册,正在搜索或正在注册<br></p><p>-6:拒绝注册<br></p><p>-7:信号错误或没插卡<br></p><p>-8:未知错误<br></p><p>-9:CGREG未知错误<br></p><p>+CGREG 1:启用网络注册未经请求的结果代码<br></p><p>+CGREG 2:启用网络注册和位置信息未经请求的结果代码<br></p><p> 示例:</p><p>```java</p><p> String state = ZtlManager.GetInstance().get4gStatic(this);//state 为获取到的4G故障码</p><p>```</p><p><br/></p><p> ## 判断系统是否支持看门狗功能</p><p><br/></p><p> 函数:public boolean hasWatchDog()<br></p><p> 描述:判断系统是否支持看门狗功能<br></p><p> 参数说明:返回值:true:支持 false:不支持<br></p><p> 示例:</p><p>```java</p><p> boolean isHas = ZtlManager.GetInstace().hasWatchDog();//isHas 为判断系统是否支持看门狗功能</p><p>```</p><p><br/></p><p> ## 打开看门狗并喂狗</p><p><br/></p><p> 函数:public boolean openWatchDog()<br></p><p> 描述:打开看门狗,并且进行喂狗,默认一分钟喂3次狗<br></p><p> 参数说明:返回值:true:打开成功 false:打开失败<br></p><p> 示例:</p><p>```java</p><p> boolean isOpen = ZtlManager.GetInstace().openWatchDog();//isOpen 为是否打开看门狗功能</p><p>```</p><p><br/></p><p> ## 关闭看门狗</p><p><br/></p><p> 函数:public boolean closeWatchDog()<br></p><p> 描述:关闭看门狗,停止喂狗<br></p><p> 参数说明:返回值:true:关闭成功 false:关闭失败<br></p><p> 示例:</p><p>```java</p><p> boolean isClose = ZtlManager.GetInstace().closeWatchDog();//isClose 为是否已关闭看门狗</p><p>```</p><p><br/></p><p> ## 判断看门狗是否正在运行</p><p><br/></p><p> 函数:public boolean isRunWatchDog()<br></p><p> 描述:判断看门狗是否正在运行<br></p><p> 参数说明:返回值:true:看门狗正在运行 false:看门狗未运行<br></p><p> 示例:</p><p>```java</p><p> boolean isRun = ZtlManager.GetInstace().isRunWatchDog();//isRun 为判断看门狗是否正在运行</p><p>```</p><p><br/></p><p> ## 读取看门狗的值</p><p><br/></p><p> 函数:public String watchDogValue()<br></p><p> 描述:判断看门狗是否正在运行<br></p><p> 参数说明:返回值:1:打开看门狗 2:看门狗喂狗 3:关闭看门狗<br></p><p> 示例:</p><p>```java</p><p> String value = ZtlManager.GetInstace().watchDogValue();//value 为获取到的看门狗的值</p><p>```</p><p><br/></p><p> ## 设置锁屏</p><p><br/></p><p> 函数:public void lockScreenSettings(boolean bEnable, String password)<br></p><p> 描述:设置安卓系统锁屏密码,设置完成后不会直接锁屏,需要调用lockScreen()接口。需要固件支持<br></p><p> 参数说明:参数:bEnable:true:启用锁屏 false:不启用 password:设置锁屏密码<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstace().lockScreenSettings(true, "123456");//启用锁屏,设置密码为123456</p><p>```</p><p><br/></p><p> ## 锁屏</p><p><br/></p><p> 函数:public void lockScreen()<br></p><p> 描述:使用lockScreenSettings()接口设置密码后,调用此接口即可设置锁屏,需要固件支持<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstace().lockScreen();//设置Android系统锁屏</p><p>```</p><p><br/></p><p> ## 执行cmd命令并获取返回值</p><p><br/></p><p> 函数:public static String execRootCmd(String cmd)<br></p><p> 描述:执行cmd命令并获取命令返回值<br></p><p> 示例:</p><p>```java</p><p> String strCmd = ZtlManager.GetInstace().execRootCmd("pm path com.ztl.test");//strCmd为获取到的cmd命令返回值</p><p>```</p><p><br/></p><p> ## 执行命令行</p><p><br/></p><p> 函数:public int execRootCmdSilent(String cmd)<br></p><p> 描述:su执行命令行,如su失效,则执行testsu<br></p><p> 示例:</p><p>```java</p><p> int result = ZtlManager.GetInstace().execRootCmdSilent("reboot");</p><p> //返回值参考:https://blog.csdn.net/qq_35661171/article/details/79096786</p><p>```</p><p><br/></p><p> ## 设置开机自启动</p><p><br/></p><p> 函数:public void setBootPackageActivity(String pkgName,String pkgActivity)<br></p><p> 描述:设置 Android 系统开机自启动 APP 包名和 类名<br></p><p> 用途:如果嫌广播自启动麻烦,则可调用此接口。此 api 只支持一个 app。多次设置,只有最后一次设置有效。但这个接口和广播自启动一样,需要程序启动一次。<br></p><p>如果是生产环境中需要大批量多机器部署,则不现实。此时,可通过厂家发布固件内置 app,并将该 app 自启动。弊端:修改 build.prop 内置成系统应用(system/app 目录下)无法通过正常安装更新版本。<br></p><p> build.prop修改方法:<br></p><p> persist.sys.bootPkgName=com.ztl.test(填入需要自启动的包名)<br></p><p> persist.sys.bootPkgActivity=com.ztl.test.MainActivity(填入需要自启动的类名)<br></p><p> 参数说明:pkgName:APP包名;pkgActivity:APP类名<br></p><p> 示例:</p><p>```java</p><p> //设置【系统设置】为开机自启动</p><p> ZtlManager.GetInstance.setBootPackageActivity("com.android.settings","com.android.settings.Settings");</p><p>```</p><p><br/></p><p> ## 获取设置的开机自启动APP的包名</p><p><br/></p><p> 函数:public String getBootPackageName()<br></p><p> 描述:获取 Android 设备开机自启动的 APP 包名<br></p><p> 参数说明:返回值:自启动APP包名<br></p><p> 示例:</p><p>```java</p><p> String pkgName = ZtlManager.GetInstance.getBootPackageName();//pkgName 为获取到的开机自启动 APP 包名</p><p>```</p><p><br/></p><p> ## 获取设置的开机自启动APP的类名</p><p><br/></p><p> 函数:public String getBootPackageActivity()<br></p><p> 描述:获取 Android 设备开机自启动的 APP 中的类名<br></p><p> 参数说明:返回值:自启动APP类名<br></p><p> 示例:</p><p>```java</p><p> String pkgActivity = ZtlManager.GetInstance.getBootPackageActivity();//pkgActivity 为获取到的开机自启动 APP 的 Activity 类名</p><p>```</p><p><br/></p><p> ## 启动另一个APP</p><p><br/></p><p> 函数:public void startActivity(String pkgName,String pkgActivity)<br></p><p> 描述:启动另一个 APP,标准做法的一种封装,更易于使用。<br></p><p> 参数说明:pkgName:要启动的APP包名;pkgActivity:要启动的APP类名<br></p><p> 示例:</p><p>```java</p><p> //打开【系统设置】界面</p><p> ZtlManager.GetInstance.startActivity("com.android.settings","com.android.settings.Settings");</p><p>```</p><p><br/></p><p> ## 静默安装APK</p><p><br/></p><p> 函数:public void installAppSilent(String filePath)<br></p><p> 描述:静默安装指定路径的 APK 文件<br></p><p> 备注:仅限于有 root 权限的固件使用。比如微信刷脸就不适用。没有 root 权限的用户可以调用如下接口完成此功能:InstallApp()、installAppAndStartUp()、installAppSilentAndRebootSystem()。<br></p><p> 参数说明:filePath:APK文件路径。<br></p><p> 示例:</p><p>```java</p><p> //静默安装 test.apk</p><p> ZtlManager.GetInstance().installAppSilent("/sdcard/test.apk");</p><p>```</p><p><br/></p><p> ## 无需root权限静默安装APK</p><p><br/></p><p> 函数:public void installApp(String filePath)<br></p><p> 描述:静默安装指定路径的 APK 文件<br></p><p> 备注:此接口无需系统权限,但需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:filePath:APK文件安装路径。<br></p><p> 示例:</p><p>```java</p><p> //静默安装 /sdcard/test.apk</p><p> ZtlManager.GetInstance().installApp("/sdcard/test.apk");</p><p>```</p><p><br/></p><p> ## 卸载APP</p><p><br/></p><p> 函数:public void uninstallAppSilent(String packageName)<br></p><p> 描述:卸载指定包名的 APP<br></p><p> 参数说明:packageName:指定APP包名。<br></p><p> 示例:</p><p>```java</p><p> //卸载包名为 com.dc.test 的apk</p><p> ZtlManager.GetInstance().uninstallAppSilent("com.dc.test");</p><p>```</p><p><br/></p><p> ## 静默安装APK并且重启系统</p><p><br/></p><p> 函数:public void installAppSilentAndRebootSystem(String filePath,int reboot_in_sec)<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 描述:静默安装 APK 并且重启 Android 系统。如果是广播自启动的程序, 有 可 能 会 重 启 后 无 法 正 常 启 动 。 所 以 除 非 必 须 重 启 系 统 , 否 则 推 荐 使 用 installAppAndStartUp()。<br></p><p> 参数说明:filePath:APK所在路径;reboot_in_sec:安装开始时延迟多少秒后重启系统。<br></p><p> 示例:</p><p>```java</p><p> //安装/sdcard/目录下的test.apk,并且在10秒后重启安卓系统</p><p> ZtlManager.GetInstance().installAppSilentAndRebootSystem("/sdcard/test.apk", "10");</p><p>```</p><p><br/></p><p> ## 安装APP并启动安装的APP</p><p><br/></p><p> 函数:public void installAppAndStartUp(String filePath,String pkgName)<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 描述:安装 APK,并且在安装完成后启动所安装的 APP<br></p><p> 参数说明:filePath:APK所在路径;pkgName:要启动的APP包名。<br></p><p> 示例:</p><p>```java</p><p> //安装/sdcard/目录下的test.apk,并且在安装完成后启动包名为"com.dc.test"的APK</p><p> ZtlManager.GetInstance().installAppAndStartUp("/sdcard/test.apk", "com.dc.test");</p><p>```</p><p><br/></p><p> ## 守护进程</p><p><br/></p><p> 函数:接口1:public void keepActivity(String pkgName)<br></p><p> 备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice<br></p><p> 描述:保持APP置顶状态。在程序被切换到后台或关闭时,自动返回或启动该 app。保持该 app 在前端。用于售货机 ATM 广告机 等必须保活的应用。当需要打开系统设置界面或运行其他 app 暂时进行其他设置时,请先调用取消接口。否则会一直保持 app 置顶导致无法操作。<br></p><p> 参数说明:pkgName:需要保持置顶的APP<br></p><p> 示例:</p><p>```java</p><p> //保持包名为"com.dc.test"的 APP 置顶状态</p><p> ZtlManager.GetInstance().keepActivity("com.dc.test");</p><p>```</p><p><br/></p><p> 函数:接口2:public void keepActivity(String pkgName, int sec)<br></p><p> 备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice<br></p><p> 描述:保持APP置顶状态。在程序被切换到后台或关闭时,自动返回或启动该 app。保持该 app 在前端。用于售货机 ATM 广告机 等必须保活的应用。当需要打开系统设置界面或运行其他 app 暂时进行其他设置时,请先调用取消接口。否则会一直保持 app 置顶导致无法操作。<br></p><p> 参数说明:pkgName:需要保持置顶的APP;sec:设置保活时间,最低为2,如设置为2,会在守护程序退出后2s后进行拉起。<br></p><p> 示例:</p><p>```java</p><p> //保持包名为"com.dc.test"的 APP 置顶状态,设置保活时间为2s</p><p> ZtlManager.GetInstance().keepActivity("com.dc.test", 2);</p><p>```</p><p><br/></p><p> ## 取消守护进程</p><p><br/></p><p> 函数:public void unKeepActivity()<br></p><p> 备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice<br></p><p> 描述:取消守护进程,取消置顶状态。<br></p><p> 示例:</p><p>```java</p><p> //取消守护进程</p><p> ZtlManager.GetInstance().unKeepActivity();</p><p>```</p><p><br/></p><p> ## 保活某个服务</p><p><br/></p><p> 函数:接口1:public void keepService(String packageName, String service)<br></p><p> 备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice<br></p><p> 描述:保活某个服务,不被系统回收。<br></p><p> 参数说明:packageName:保活服务的APP包名;service:需要保活的服务。<br></p><p> 示例:</p><p>```java</p><p> //保活服务"com.dc.test.testService"不被系统回收</p><p> ZtlManager.GetInstance().keepService("com.dc.test", "com.dc.test.testService");</p><p>```</p><p><br/></p><p> 函数:接口2:public void keepService(String packageName, String service, int sec)<br></p><p> 备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice<br></p><p> 描述:保活某个服务,不被系统回收。<br></p><p> 参数说明:packageName:保活服务的APP包名;service:需要保活的服务;sec:设置保活时间,最低为2s<br></p><p> 示例:</p><p>```java</p><p> //保活服务"com.dc.test.testService"不被系统回收,设置每2s检测一次</p><p> ZtlManager.GetInstance().keepService("com.dc.test", "com.dc.test.testService", 2);</p><p>```</p><p><br/></p><p> ## 取消保活某个服务</p><p><br/></p><p> 函数:public void unKeepService()<br></p><p> 备注:需要验证系统是否支持;验证方法:adb shell pm path com.ztl.appservice<br></p><p> 描述:取消保活某个服务,此操作并不会杀死这个服务。<br></p><p> 示例:</p><p>```java</p><p> //取消保活服务</p><p> ZtlManager.GetInstance().unKeepService();</p><p>```</p><p><br/></p><p> ## APP使用硬件看门狗</p><p><br/></p><p> 函数:public void WatchDog()<br></p><p> 描述:APP使用硬件看门狗,自动禁止系统喂狗<br></p><p> 备注:<br></p><p> 1.硬件要支持<br></p><p> 2.系统要支持(设置-其他设置 版本号大于等于 20211029)<br></p><p> 3.系统开机默认是系统自动喂狗<br></p><p> 4.调用此接口,系统自动停止喂狗,由用户自己喂狗,不继续喂狗,系统会自动重启(200秒左右,具体时间按实际为准)<br></p><p> 5.调此接口就是喂狗一次,需要重复调用,建议20秒喂一次<br></p><p> 6.要把板子的跳线帽拔掉,才启用看门狗,不拔,看门狗无效,不会重启系统<br></p><p> 说明:调用此接口后,继续调用feedHardwareWatchDog();即可进行app喂狗</p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstance().WatchDog();</p><p>```</p><p><br/></p><p># 时间</p><p><br/></p><p> ## 获取系统日期</p><p><br/></p><p> 函数:public String getSystemDate()<br></p><p> 描述:获取 Android 设备系统日期<br></p><p> 参数说明:返回值:获取Android系统日期,格式为 yyyy/MM/dd。<br></p><p> 示例:</p><p>```java</p><p> String systemDate = ZtlManager.GetInstance().getSystemDate(); //systemDate 为获取到的 Android 系统日期</p><p>```</p><p><br/></p><p> ## 获取系统时间</p><p><br/></p><p> 函数:public String getSystemTime()<br></p><p> 描述:获取 Android 设备系统时间<br></p><p> 参数说明:返回值:获取Android系统时间,格式为 HH:mm:ss。<br></p><p> 示例:</p><p>```java</p><p> String systemTime = ZtlManager.GetInstance().getSystemTime(); //systemTime 为获取到的 Android 系统时间</p><p>```</p><p><br/></p><p> ## 立刻同步网络时间</p><p><br/></p><p> 函数:public void syncNetworkTime()<br></p><p> 描述:获取 Android 设备系统日期<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 用途:一般来说,系统联网的情况下,时间都会同步。但如果应用程序对时间精度有更高要 求,可以通过此接口强行同步时间。<br></p><p> 示例:</p><p>```java</p><p> //设置Android系统立刻同步时间</p><p> ZtlManager.GetInstance.syncNetworkTime();</p><p>```</p><p><br/></p><p> ## 设置同步时间的间隔</p><p><br/></p><p> 函数:public void syncNetworkTimePeroid(int peroidInMinute)<br></p><p> 描述:设置同步网络时间间隔。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:peroidInMinute:同步时间周期,分钟制。<br></p><p> 示例:</p><p>```java</p><p> //间隔 10 分钟同步一次网络时间</p><p> ZtlManager.GetInstance().syncNetworkTimePeroid(10);</p><p>```</p><p><br/></p><p> ## 设置系统日期与时间</p><p><br/></p><p> 函数:public void setSystemTime(Calendar cal)<br></p><p> 描述:设置 Android 设备系统日期与时间。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:cal:传入需要设置的时间即可。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备系统日期时间为 2020 年 10 月 10 日 10 时 10 分</p><p> Calendar cal = Calendar.getInstance();</p><p> cal.set(2020,10,10,10,10);</p><p> ZtlManager.GetInstance().setSystemTime(cal);</p><p>```</p><p><br/></p><p> 函数:public void setSystemTime(long timeinmili)<br></p><p> 描述:设置 Android 设备系统日期与时间。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:timeinmili:传入需要设置的时间即可(毫秒)。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备系统日期时间为 2020 年 10 月 10 日 10 时 10 分</p><p> long setTime = 1602295800000;</p><p> ZtlManager.GetInstance().setSystemTime(setTime);</p><p>```</p><p><br/></p><p> ## 判断系统的时区是否为自动获取</p><p><br/></p><p> 函数:public boolean isAutoTimezone()<br></p><p> 描述:判断 Android 系统的时区是否为自动获取<br></p><p> 参数说明:返回值:true:自动获取;false:手动设置。<br></p><p> 示例:</p><p>```java</p><p> boolean isAutoTimezone = ZtlManager.GetInstance().isAutoTimezone(); //isAutoTimezone 为获取到的 Android 系统时区状态</p><p>```</p><p><br/></p><p> ## 设置系统时区开关</p><p><br/></p><p> 函数:public void setAutoTimezone(boolean bAuto)<br></p><p> 描述:设置 Android 系统的自动选择时区开关<br></p><p> 参数说明:bAuto:true:自动获取;false:手动设置。<br></p><p> 备注:需要程序成为系统程序或申请相关权限:</p><p> android:sharedUserId="android.uid.system" <!--成为系统程序--></p><p> android:name="android.permission.WRITE_SETTINGS"</p><p> android:name="android.permission.WRITE_SECURE_SETTINGS"</p><p> android:name="android.permission.SET_TIME_ZONE"</p><p> 示例:</p><p>```java</p><p> //设置 Android 设备系统时区为自动获取</p><p> ZtlManager.GetInstance().setAutoTimezone(true);</p><p>```</p><p><br/></p><p> ## 判断系统的时间是否自动获取</p><p><br/></p><p> 函数:public boolean isAutoDateTime()<br></p><p> 描述:判断 Android 系统的时间是否为自动获取<br></p><p> 参数说明:返回值:true:自动获取;false:手动设置。<br></p><p> 示例:</p><p>```java</p><p> boolean autoDateTime = ZtlManager.GetInstance().isAutoDateTime(); //autoDateTime 为判断系统的时间是否自动获取</p><p>```</p><p><br/></p><p> ## 设置系统的自动确定日期与时间开关</p><p><br/></p><p> 函数:public void setAutoDateTime(boolean bAuto)<br></p><p> 描述:设置Android系统的自动确定日期与时间的开关<br></p><p> 参数说明:bAuto:true:自动获取;false:手动设置。<br></p><p> 备注:需要程序成为系统程序或申请相关权限:</p><p> android:sharedUserId="android.uid.system" <!--成为系统程序--></p><p> android:name="android.permission.WRITE_SETTINGS"</p><p> android:name="android.permission.WRITE_SECURE_SETTINGS"</p><p> android:name="android.permission.SET_TIME_ZONE"</p><p> 示例:</p><p>```java</p><p> //设置 Android 设备系统日期与时间为自动获取</p><p> ZtlManager.GetInstance().setAutoDateTime(true);</p><p>```</p><p><br/></p><p> ## 定时关机</p><p><br/></p><p> 函数:public void setSchedulePowerOff(int hour, int minute, boolean enableSchedulPowerOff)<br></p><p> 描述:设置 Android 系统定时关机,有效期为每天<br></p><p> 参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOff:使能/关闭定时关机<br></p><p> 备注:使能或者关闭定时开关机功能,直接设置第三个参数为true(使能)/false(关闭)---**该接口已废弃,推荐使用新接口**:setPoweroffEveryday();参数不变<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 12:10 每天定时关机</p><p> ZtlManager.GetInstance().setSchedulePowerOff(12,10,true);</p><p>```</p><p><br/></p><p> ## 定时开机</p><p><br/></p><p> 函数:public void setSchedulePowerOn(int hour, int minute, boolean enableSchedulPowerOn)<br></p><p> 描述:设置 Android 系统定时开机,有效期为每天<br></p><p> 参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOn:使能/关闭定时开机<br></p><p> 备注:使能或者关闭定时开关机功能,直接设置第三个参数为true(使能)/false(关闭)---**该接口已废弃,推荐使用新接口**:setPoweronEveryday();参数不变<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 12:11 每天定时开机</p><p> ZtlManager.GetInstance().setSchedulePowerOn(12,11,true);</p><p>```</p><p><br/></p><p> ## 设置系统指定某天定时关机</p><p><br/></p><p> 函数:public void setPowerOffAlarm(int year, int month, int day, int hour, int minute, boolean enableSchedulPowerOff)<br></p><p> 描述:设置 Android 系统定时关机,有效期为一次性<br></p><p> 参数说明:year:年;month:月;day:日;hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOff:使能/关闭定时关机<br></p><p> 说明:**该接口已废弃,推荐使用新接口**:setPoweroffOnce();参数不变<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 2020 年 7 月 12 日 12:12 定时关机</p><p> ZtlManager.GetInstance().setPowerOffAlarm(2020,7,12,12,12,true);</p><p>```</p><p><br/></p><p> ## 设置系统指定某天定时开机</p><p><br/></p><p> 函数:public void setPowerOnAlarm(int year, int month, int day, int hour, int minute, boolean enableSchedulPowerOn)<br></p><p> 描述:设置 Android 系统定时开机,有效期为一次性<br></p><p> 参数说明:year:年;month:月;day:日;hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);enableSchedulPowerOn:使能/关闭定时开机<br></p><p> 说明:**该接口已废弃,推荐使用新接口**:setPoweronOnce();参数不变<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 2020 年 7 月 12 日 12:13 定时开机</p><p> ZtlManager.GetInstance().setPowerOnAlarm(2020, 7, 12, 12, 13, true);</p><p>```</p><p><br/></p><p> ## 自定义周期定时关机</p><p><br/></p><p> 函数:public void setPoweroffCustom(int hour, int minute, int weekDays, boolean bEnable)<br></p><p> 描述:设置 Android 系统自定义定时关机<br></p><p> 参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);weekDays:周期,计算周期方式:计算器-程序员-按位计算,一周为七天,第一位为周日(数值为1),第二位为周一(数值为2),第三位为周二(数值为4),第四位为周三(数值为8),第五位为周四(数值为16),第六位为周五(数值为32),第七位为周六(数值为64),可按照数值相加,来定制自定义周期定时关机,可填入0(代表执行一次),填入127(代表每天);bEnable:使能/关闭定时关机<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 周一至周五12:10定时关机</p><p> ZtlManager.GetInstance().setPoweroffCustom(12, 10, 62, true);</p><p>```</p><p><br/></p><p> ## 自定义周期定时开机</p><p><br/></p><p> 函数:public void setPoweronCustom(int hour, int minute, int weekDays, boolean bEnable)<br></p><p> 描述:设置 Android 系统自定义定时开机<br></p><p> 参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);weekDays:周期,计算周期方式:计算器-程序员-按位计算,一周为七天,第一位为周日(数值为1),第二位为周一(数值为2),第三位为周二(数值为4),第四位为周三(数值为8),第五位为周四(数值为16),第六位为周五(数值为32),第七位为周六(数值为64),可按照数值相加,来定制自定义周期定时关机,可填入0(代表执行一次),填入127(代表每天);bEnable:使能/关闭定时开机<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 周一至周五12:11定时开机</p><p> ZtlManager.GetInstance().setPoweronCustom(12, 11, 62, true);</p><p>```</p><p><br/></p><p> ## 定时重启</p><p><br/></p><p> 函数:public void timingReboot(int hour, int minute, int week, boolean enable)<br></p><p> 描述:设置 Android 系统定时重启,可自选周期<br></p><p> 参数说明:hour:时(0 <= hour < 24);minute:分(0 <= minute < 60);<br>week:周期,计算周期方式:计算器-程序员-按位计算,一周为七天,第一位为周日(数值为1),第二位为周一(数值为2),第三位为周二(数值为4),第四位为周三(数值为8),第五位为周四(数值为16),第六位为周五(数值为32),第七位为周六(数值为64),可按照数值相加,来定制自定义周期定时重启,可填入0(代表执行一次),填入127(代表每天);<br>enable:使能/关闭定时重启<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 周一至周五中午十二时重启</p><p> ZtlManager.GetInstance().timingReboot(12, 0, 62, true);</p><p>```</p><p><br/></p><p> ## 设置系统指定某天定时重启</p><p><br/></p><p> 函数:public void timingRebootAlarm(int year, int month, int day, int hour, int minute, boolean enable)<br></p><p> 描述:设置 Android 系统定时重启,执行一次<br></p><p> 参数说明:year:年;month:月;day:日;hour:时;minute:分;enable:使能\关闭定时重启<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备 2021年5月1日12时重启</p><p> ZtlManager.GetInstance().timingRebootAlarm(2021, 5, 1, 12, 0, true);</p><p>```</p><p><br/></p><p># 显示</p><p><br/></p><p> ## 获取屏幕分辨率</p><p><br/></p><p> 函数:public String getDisplayMode()<br></p><p> 描述:获取 Android 系统的屏幕分辨率<br></p><p> 参数说明:返回值:获取Android设备的屏幕分辨率<br></p><p> 示例:</p><p>```java</p><p> String displayMode = ZtlManager.GetInstance().getDisplayMode(); //displayMode 为 Android 系统的屏幕分辨率</p><p>```</p><p><br/></p><p> ## 获取屏幕分辨率Y轴像素</p><p><br/></p><p> 函数:public int getDisplayHeight()<br></p><p> 描述:获取 Android 设备显示分辨率 Y 轴像素<br></p><p> 参数说明:返回值:获取Android设备的分辨率Y轴像素<br></p><p> 示例:</p><p>```java</p><p> int screenHeight = ZtlManager.GetInstance().getDisplayHeight(); //screenHeight 为 Android 设备的显示分辨率 Y 轴像素</p><p>```</p><p><br/></p><p> ## 获取屏幕分辨率X轴像素</p><p><br/></p><p> 函数:public int getDisplayWidth()<br></p><p> 描述:获取 Android 设备显示分辨率 X 轴像素<br></p><p> 参数说明:返回值:获取Android设备的分辨率X轴像素<br></p><p> 示例:</p><p>```java</p><p> int screenWidth = ZtlManager.GetInstance().getDisplayWidth(); //screenWidth 为 Android 设备的显示分辨率 X 轴像素</p><p>```</p><p><br/></p><p> ## 获取屏幕显示密度</p><p><br/></p><p> 函数:public int getDisplayDensity()<br></p><p> 描述:获取 Android 设备屏幕显示密度(dpi)<br></p><p> 参数说明:返回值:获取Android设备显示密度<br></p><p> 示例:</p><p>```java</p><p> int screenDpi = ZtlManager.GetInstance().getDisplayDensity(); //screenDpi 为 Android 设备的屏幕显示密度</p><p>```</p><p><br/></p><p> ## 设置屏幕显示密度</p><p><br/></p><p> 函数:public void setDisplayDensity(int dips)<br></p><p> 描述:设置 Android 设备屏幕显示密度(dpi)<br></p><p> 备注:此接口会导致系统重启,重启生效。<br></p><p> 参数说明:dpis:支持120;160;240;320;或其他自定义值<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备屏幕显示密度为 120</p><p> ZtlManager.GetInstance().setDisplayDensity(120);</p><p>```</p><p><br/></p><p> ## 是否设置背光反向</p><p><br/></p><p> 函数:public void reverseBrighness(boolean true_or_false)<br></p><p> 描述:设置背光是否反向<br></p><p> 备注:如果出现背光反向问题(即为调整亮度,调整越亮实际变暗,或者调整亮度越暗实际 变亮),可使用该接口来调整背光问题。<br></p><p> 参数说明:true_or_false:true:调整背光为反向;false:不调整。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备背光反向</p><p> ZtlManager.GetInstance().reverseBrighness(true);</p><p>```</p><p><br/></p><p> ## 获取背光是否已反向</p><p><br/></p><p> 函数:public boolean isReverseBrighness()<br></p><p> 描述:获取 Android 设备背光是否已方向<br></p><p> 参数说明:返回值:true:已反向;false:未反向。<br></p><p> 示例:</p><p>```java</p><p> boolean isReverse = ZtlManager.GetInstance().isReverseBrighness(); //isReverse 为获取到的背光方向信息</p><p>```</p><p><br/></p><p> ## 获取当前亮度</p><p><br/></p><p> 函数:public int getSystemBrightness()<br></p><p> 描述:获取 Android 设备系统当前亮度<br></p><p> 参数说明:返回值:Android系统亮度。<br></p><p> 示例:</p><p>```java</p><p> int systemBri = ZtlManager.GetInstance().getSystemBrightness(); //systemBri 为 Android 系统当前亮度</p><p>```</p><p><br/></p><p> ## 获取最大亮度值</p><p><br/></p><p> 函数:public int getSystemMaxBrightness()<br></p><p> 描述:获取 Android 设备系统最大亮度值<br></p><p> 参数说明:返回值:Android系统最大亮度值。<br></p><p> 示例:</p><p>```java</p><p> int maxBrightness = ZtlManager.GetInstance().getSystemMaxBrightness(); //maxBrightness 为 Android 系统最大亮度</p><p>```</p><p><br/></p><p> ## 增大亮度值</p><p><br/></p><p> 函数:public void increaseBrightness()<br></p><p> 描述:设置系统亮度+1<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统亮度+1</p><p> ZtlManager.GetInstance().increaseBrightness();</p><p>```</p><p><br/></p><p> ## 降低亮度值</p><p><br/></p><p> 函数:public void decreaseBrightness()<br></p><p> 描述:设置系统亮度-1<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统亮度-1</p><p> ZtlManager.GetInstance().decreaseBrightness();</p><p>```</p><p><br/></p><p> ## 设置系统亮度</p><p><br/></p><p> 函数:public void setBrightness(int brightness)<br></p><p> 描述:设置系统亮度<br></p><p> 备注:HDMI 和 VGA 暂不支持调整,需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:brightness:亮度值:0-255。</p><p> 示例:</p><p>```java</p><p> //设置 Android 系统亮度为 200</p><p> ZtlManager.GetInstance().setBrightness(200);</p><p>```</p><p><br/></p><p> ## 设置屏幕方向</p><p><br/></p><p> 函数:public void setDisplayOrientation(int rotation)<br></p><p> 描述:设置 Android 系统显示方向<br></p><p> 备注:一般用于固件默认方向和实际屏幕不一致时使用。当 app 需要适应屏幕方向时,推荐 app 做处理而不是旋转整个系统。<br></p><p> 参数说明:rotation:0:0度;90:90度(默认角度旋转90度);180:180度(默认角度旋转180度);270:270度(默认角度旋转270度)。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统屏幕方向旋转 90 度</p><p> ZtlManager.GetInstance().setDisplayOrientation(90);</p><p>```</p><p><br/></p><p> ## 设置副屏方向</p><p><br/></p><p> 函数:public void setExtendDisplayOrientation(int rotation)<br></p><p> 描述:设置 Android 系统副屏显示方向<br></p><p> 备注:一般用于固件默认方向和实际屏幕不一致时使用。当 app 需要适应屏幕方向时,推荐 app 做处理而不是旋转整个系统。<br></p><p> 参数说明:rotation:0:0度;90:90度(默认角度旋转90度);180:180度(默认角度旋转180度);270:270度(默认角度旋转270度)。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统副屏方向旋转 90 度</p><p> ZtlManager.GetInstance().setExtendDisplayOrientation(90);</p><p>```</p><p><br/></p><p> ## 设置多屏幕方向</p><p><br/></p><p> 函数:public int setDisplayOrientation(int screen, int rotation)<br></p><p> 描述:设置 Android 系统多屏幕方向<br></p><p> 备注:一般用于固件默认方向和实际屏幕不一致时使用。当 app 需要适应屏幕方向时,推荐 app 做处理而不是旋转整个系统。<br></p><p> 参数说明:screen:要设置的屏幕:0:主屏;1:副屏1;2:副屏2...以此类推,-1为同时显示;<br></p><p> rotation:0:0度;90:90度(默认角度旋转90度);180:180度(默认角度旋转180度);270:270度(默认角度旋转270度)。<br></p><p> 返回值:-1:不支持;0:设置成功</p><p> 示例:</p><p>```java</p><p> //设置 Android 系统所有屏幕方向旋转 90 度</p><p> int value = ZtlManager.GetInstance().setDisplayOrientation(-1, 90);</p><p>```</p><p><br/></p><p> ## 获取屏幕方向</p><p><br/></p><p> 函数:接口1:public int getDisplayOrientation()<br></p><p> 描述:获取 Android 系统屏幕显示方向<br></p><p> 参数说明:返回值:0:当前屏幕方向为0度;90:当前屏幕方向为90度;180:当前屏幕方向为180度;270:当前屏幕方向为270度。<br></p><p> 示例:</p><p>```java</p><p> int rotation = ZtlManager.GetInstance().getDisplayOrientation(); //rotation 为获取到的 Android 系统屏幕显示方向</p><p>```</p><p><br/></p><p> 函数:接口2:public int getDisplayOrientation(int screen)<br></p><p> 描述:获取 Android 系统指定屏幕显示方向<br></p><p> 参数说明:返回值:-1:不支持此功能;0:当前屏幕方向为0度;90:当前屏幕方向为90度;180:当前屏幕方向为180度;270:当前屏幕方向为270度。<br></p><p> screen:0:获取主屏方向;1:获取副屏1屏幕方向;2:获取副屏2屏幕方向<br></p><p> 示例:</p><p>```java</p><p> int rotation = ZtlManager.GetInstance().getDisplayOrientation(0); //rotation 为获取到的 Android 系统主屏显示方向</p><p>```</p><p><br/></p><p> ## 设置触摸方向</p><p><br/></p><p> 函数:public void setTouchOrientation(int orientation, boolean rebootnow)<br></p><p> 描述:设置 Android 系统触摸方向(重启生效)<br></p><p> 备注:仅限于触摸屏上下左右同时互反的时候设置起作用。如设置完仍不起作用,请联系厂 家技术支持。<br></p><p> 参数说明:orientation:0:触摸方向顺时针旋转0度;90:触摸方向顺时针旋转90度;180:触摸方向顺时针旋转180度;270:触摸方向顺时针旋转270度。rebootnow:true:执行重启;false:不执行重启。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统触摸方向方向顺时针 90 度并且重启</p><p> ZtlManager.GetInstance().setTouchOrientation(90,true);</p><p>```</p><p><br/></p><p> ## 获取触摸方向</p><p><br/></p><p> 函数:public int getTouchOrientation()<br></p><p> 描述:获取 Android 设备触摸方向<br></p><p> 参数说明:返回值:0:当前触摸方向为0度;90:当前触摸方向为90度;180:当前触摸方向为180度;270当前触摸方向为270度;<br></p><p> 示例:</p><p>```java</p><p> int TpOrientation = ZtlManager.GetInstance().getTouchOrientation(); //TpOrientation 为获取到的 Android 系统触摸方向</p><p>```</p><p><br/></p><p> ## 获取支持的分辨率列表</p><p><br/></p><p> 函数:public String[] getScreenModes()<br></p><p> 描述:获取 Android 支持的分辨率列表<br></p><p> 注意:3288-5.1 与 3288-7.1 此接口返回 null,暂不支持获取分辨率列表,如果其他版型获取到的分辨率列表为空,请检查 HDMI 连接是否正常。<br></p><p> 参数说明:返回值:获取屏幕支持的分辨率列表。<br></p><p> 示例:</p><p>```java</p><p> String modes[] = ZtlManager.GetInstance().getScreenModes(); //modes[]为 Android 系统屏幕支持的分辨率</p><p>```</p><p><br/></p><p> ## 设置分辨率</p><p><br/></p><p> 函数:public void setScreenMode(String mode)<br></p><p> 描述:设置 Android 系统输出分辨率,系统将进入重启。(重启生效)<br></p><p> 说明:此接口适用于 lvds,替换屏参的一种方式。<br></p><p> 参数说明:mode:需要设置的分辨率,具体参考系统支持的分辨率。<br></p><p> 示例:</p><p>```java</p><p> //设置系统输出分辨率为 1920x1080 模式</p><p> ZtlManager.GetInstance().setScreenMode("1920x1080@60p");</p><p>```</p><p><br/></p><p> ## 设置桌面壁纸</p><p><br/></p><p> 函数:public void setWallpaper(String filePath)<br></p><p> 描述:设置Android系统桌面壁纸,需要固件支持<br></p><p> 参数说明:filePath:壁纸所在路径,如"/sdcard/1.png"<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstace().setWallpaper("/sdcard/1.png");//设置Android系统桌面壁纸为/sdcard/目录下的1.png</p><p>```</p><p><br/></p><p> ## 设置字体大小</p><p><br/></p><p> 函数:public void setFontSize(int index)<br></p><p> 描述:设置Android系统字体大小<br></p><p> 参数说明:index:1:较小; 2:正常; 3:较大; 4:最大<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstace().setFontSize(4);//设置Android系统字体为最大显示</p><p>```</p><p><br/></p><p> ## 获取固件所支持的屏幕个数</p><p><br/></p><p> 函数:public int getDisplayCount()<br></p><p> 描述:获取固件所支持的屏幕个数<br></p><p> 参数说明:返回值:获取支持显示屏幕个数<br></p><p> 示例:</p><p>```java</p><p> int count = ZtlManager.GetInstace().getDisplayCount();//count为获取固件支持屏幕个数</p><p>```</p><p><br/></p><p># 网络</p><p><br/></p><p> ## 获取MAC地址</p><p><br/></p><p> 函数:public String getMacAddress()<br></p><p> 描述:获取 Android 系统 MAC 地址。这里获取的是 eth0 节点的 mac<br></p><p> 参数说明:返回值:Android设备MAC地址。<br></p><p> 示例:</p><p>```java</p><p> String MacAddress = ZtlManager.GetInstance().getMacAddress(); //MacAddress 为获取到的 Android 系统 Mac 地址</p><p>```</p><p><br/></p><p> ## 获取IPv4地址</p><p><br/></p><p> 函数:public String getLocalIpAddress()<br></p><p> 描述:获取 Android 系统 IPv4 地址<br></p><p> 备注:需要申请权限:android:name="android.permission.ACCESS_NETWORK_STATE"<br></p><p> 参数说明:返回值:Android设备APv4地址。<br></p><p> 示例:</p><p>```java</p><p> String IPv4Address = ZtlManager.GetInstance().getLocalIpAddress(); //IPv4Address 为获取到的 Android 系统 IPv4 地址</p><p>```</p><p><br/></p><p> ## 获取当前连接的网络类型</p><p><br/></p><p> 函数:public int getNetWorkType()<br></p><p> 描述:获取 Android 系统当前连接的网络类型<br></p><p> 备注:一般用于检测 wifi 和以太网同时连接时判断连接的是哪个网络。<br></p><p> 需要申请权限:android:name="android.permission.ACCESS_NETWORK_STATE"<br></p><p> 参数说明:返回值:-1:未知网络;0:以太网;1:wifi;2:2g;3:3g;4:4g;5:5g<br></p><p> 示例:</p><p>```java</p><p> int netWorkType = ZtlManager.GetInstance().getNetWorkType(); //NetWorkType 为返回的当前联网类型</p><p>```</p><p><br/></p><p> ## 指定wifi掉线重连</p><p><br/></p><p> 函数:public void keepWifiConnect(String SSID, String password)<br></p><p> 描述:连接指定 wifi 断线重连。由于 wifi 信号强度差或所连的 wifi 网络不可达等原因, 系统有时不会重连到指定网络。启用这个功能后,系统会保持连接到指定 wifi。请确保所 用的 wifi 在信号范围内,且能正常连接。如果启用该功能后,锁定的 wifi 不在信号范围内, 可以正常连接其他 wifi。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:SSID:WiFi名称;password:WiFi密码。<br></p><p> 示例:</p><p>```java</p><p> //连接到指定的 wifi,并且保持断线重连状态</p><p> ZtlManager.GetInstance().keepWifiConnect("ZTLDZ","12345678");</p><p>```</p><p><br/></p><p> ## 指定wifi停止掉线重连</p><p><br/></p><p> 函数:public void stopKeepWifiConnect()<br></p><p> 描述:将 keepWifiConnect 配置的 wifi 不自动重连。此功能不会导致当前的 wifi 断开或关闭。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //停止自动连接到指定 wifi</p><p> ZtlManager.GetInstance().stopKeepWifiConnect();</p><p>```</p><p><br/></p><p> ## 禁用或启用网络ADB</p><p><br/></p><p> 函数:public void setNetAdb(boolea bEnable)<br></p><p> 描述:启用:在没有 OTG 线的情况下,可启用网络 adb 连接网线进行调试。禁用:可保护主板信息不外泄。<br></p><p> 参数说明:bEnable:true:启用网络adb调试;false:不启用网络adb调试。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备启用网络 adb</p><p> ZtlManager.GetInstance().setNetAdb(true);</p><p>```</p><p><br/></p><p> ## 打开热点</p><p><br/></p><p> 函数:public void openAp(String ssid, String psw)<br></p><p> 描述:设置 Android 设备打开热点。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 说明:API 设置的热点名称如果小于6位,会自动在后面添加6位MAC地址,如果热点名称大于6位,不会自动加任何东西。<br></p><p> 可通过固件修改工具修改 build.prop 来设置开机启动热点功能,用法如下: persist.ztl.openap=ZTL/123456789 就会生成 ZTL-MAC(后三位)的热点,密码 123456789<br></p><p> 参数说明:ssid:热点名称;psw:热点密码。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 设备打开热点:接入点名称为"Ztl-test",密码为"123456789"</p><p> ZtlManager.GetInstance().openAp("Ztl-test","123456789");</p><p>```</p><p><br/></p><p> ## 关闭热点</p><p><br/></p><p> 函数:public void closeAp()<br></p><p> 描述:关闭已打开的 Android 设备热点。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //关闭已打开的 Android 设备热点</p><p> ZtlManager.GetInstance().closeAp();</p><p>```</p><p><br/></p><p> ## 获取指定网络的IPv4地址</p><p><br/></p><p> 函数:public String getIPv4(String nettype)<br></p><p> 描述:获取 Android 设备指定网络的 IPv4 地址。<br></p><p> 参数说明:nettype:ech0:以太网;wlan0:wifi;ppp0:电话卡。返回值:获取到的IPv4地址<br></p><p> 示例:</p><p>```java</p><p> String getIPv4address = ZtlManager.GetInstance().getIPv4("wlan0"); //getIPv4address 为获取到的wifi IPv4地址</p><p>```</p><p><br/></p><p> ## 设置以太网配置信息</p><p><br/></p><p> 函数:public void setEthIP(boolean bStatic, String ip, String mask, String gate, String dns, String dns2)<br></p><p> 描述:设置 Android 设备以太网模式与配置信息,如以太网 ip 地址等。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 说明:如果需要设置动态获取,第一个参数传入false,其他参数传入null即可。<br></p><p> 参数说明:bStatic:true:静态地址;false:动态获取。ip:需要设置的IP地址。mask:需要设置的子网掩码。gate:需要设置的网关。dns:需要设置的dns1。dns2:需要设置的dns2。<br></p><p> 示例:</p><p>```java</p><p> //设 置 以 太 网 为 静 态 设 置 , ip 地 址 为 192.168.101.111 , 子 网 掩 码 地 址 为 : 255.255.255.0,网关地址为:192.168.101.5,dns 地址为:192.168.101.1,dns2 地址为: 192.168.101.2</p><p> ZtlManager.GetInstance().setEthIP(false, "192.168.101.112", "255.255.255.0", "192.168.101.5", "192.168.101.1", "192.168.101.2");</p><p>```</p><p><br/></p><p> ## 设置以太网配置信息多网卡设置</p><p><br/></p><p> 函数:public void setEthIP(boolean bStatic,String name, String ip, String mask, String gate, String dns, String dns2)<br></p><p> 描述:设置 Android 设备以太网模式与配置信息,如以太网 ip 地址等。<br></p><p> 备注:需系统固件支持。(设置,其他设置,检测更新,版本大于等20220121)<br></p><p> 说明:如果需要设置动态获取,第一个参数传入false和网卡名称,其他参数传入null即可。<br></p><p> 参数说明:bStatic:true:静态地址;false:动态获取。name:网卡名称。ip:需要设置的IP地址。mask:需要设置的子网掩码。gate:需要设置的网关。dns:需要设置的dns1。dns2:需要设置的dns2。<br></p><p> 示例:</p><p>```java</p><p> //设 置 以 太 网 eth0网卡为 静 态 设 置 , ip 地 址 为 192.168.101.111 , 子 网 掩 码 地 址 为 : 255.255.255.0,网关地址为:192.168.101.5,dns 地址为:192.168.101.1,dns2 地址为: 192.168.101.2</p><p> 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");</p><p>```</p><p><br/></p><p> ## 设置WIFI配置信息</p><p><br/></p><p> 函数:public void setWifiIP(String ssid, String psw, boolean bStatic, String ip, String mask, String gate, String dns, String dns2)<br></p><p> 描述:设置 Android 设备 wifi 配置信息,如:ip 地址等。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 说明:如果未连接 wifi,第一个第二个参数传入 wifi 名称和密码会自动连接该 wifi。<br></p><p> 参数说明:ssid:wifi名称。psw:wifi密码。bStatic:true:静态地址;false:动态获取。ip:需要设置的IP地址。mask:需要设置的子网掩码。gate:需要设置的网关。dns:需要设置的dns1。dns2:需要设置的dns2。<br></p><p> 示例:</p><p>```java</p><p> //设置连接 wifi 模式为静态设置,ip 地址为 192.168.101.111,子网掩码地址为: 255.255.255.0,网关地址为:192.168.101.5,dns 地址为:192.168.101.1,dns2 地址为: 192.168.101.2</p><p> 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");</p><p>```</p><p><br/></p><p> ## 设置WIFI热点</p><p><br/></p><p> 函数:public void setWifiApConfig(String SSID, String Password, int channel, int WifiMode, boolean enable)<br></p><p> 描述:设置 Android 设备 wifi 热点配置信息<br></p><p> 参数说明:SSID:热点名称。Password:热点密码。channel:频段设置,如149;153;157;161;165。WifiMode:设置WiFi频段,如:0:2.4G;1:5G。enable:taur:打开热点;false:关闭热点<br></p><p> 示例:</p><p>```java</p><p> //设置打开wifi热点名称为:ztldz;wifi密码为12345678;频段设置为157;wifi频段设置为5G.</p><p> ZtlManager.GetInstance().setWifiApConfig("ztldz","12345678", 157, 1, true);</p><p>```</p><p><br/></p><p> ## 启用或禁用4G模块断线自动重连</p><p><br/></p><p> 函数:public void enable4GReset(boolean bEnable)<br></p><p> 描述:启用或禁用 4G 模块断线自动重连。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。一般用于没有 4G 模块掉线自动重连的固件。批量生产请在 build.prop 中添加:persist.ztl.4greset=0/1<br></p><p> 参数说明:bEnable:true:使能4G模块掉线重连;false:不使能4G模块掉线重连。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 使能 4G 模块断线自动重连</p><p> ZtlManager.GetInstance().enable4GReset(true)</p><p>```</p><p><br/></p><p> ## 获取4G模块IMEI信息</p><p><br/></p><p> 函数:public String getImei()<br></p><p> 描述:获取 Android 系统 4G 模块的国际移动用户识别码(IMEI)<br></p><p> 备注:需要 app 申请权限:android.permission.READ_PHONE_STATE<br></p><p> 参数说明:返回值:4G模块IMEI信息<br></p><p> 示例:</p><p>```java</p><p> String getImei = ZtlManager.GetInstance().getImei(); //getImei 为获取到的 Android 系统安装 4G 模块的 IMEI 信息</p><p>```</p><p><br/></p><p> ## 获取SIM卡TEL信息</p><p><br/></p><p> 函数:public String getSimTel()<br></p><p> 描述:获取 Android 系统 SIM 卡的号码信息<br></p><p> 备注:需要 app 申请权限:android.permission.READ_PHONE_STATE<br></p><p> 参数说明:返回值:SIM 卡的号码信息<br></p><p> 示例:</p><p>```java</p><p> String simtel = ZtlManager.GetInstance().getSimTel(); //simtel 为获取到的 Android 系统 SIM 卡的号码信息</p><p>```</p><p><br/></p><p> ## 获取SIM卡ICCID信息</p><p><br/></p><p> 函数:public String getSimIccid()<br></p><p> 描述:获取 Android 系统 SIM 卡的 Iccid 信息<br></p><p> 备注:需要 app 申请权限:android.permission.READ_PHONE_STATE<br></p><p> 参数说明:返回值:SIM 卡的 ICCID 信息<br></p><p> 示例:</p><p>```java</p><p> String simIccid = ZtlManager.GetInstance().getSimIccid(); //simIccid 为获取到的 Android 系统 SIM 卡的 Iccid 信息</p><p>```</p><p><br/></p><p> ## 获取SIM卡IMSI信息</p><p><br/></p><p> 函数:public String getSimImsi()<br></p><p> 描述:获取 Android 系统 SIM 卡的国际移动用户识别码(IMSI)<br></p><p> 备注:需要 app 申请权限:android.permission.READ_PHONE_STATE<br></p><p> 参数说明:返回值:SIM 卡的 IMSI 信息<br></p><p> 示例:</p><p>```java</p><p> String simIMSI = ZtlManager.GetInstance().getSimImsi(); //simIMSI 为获取到的 Android 系统 SIM 卡的号码信息</p><p>```</p><p><br/></p><p> ## 获取SIM卡运营商信息</p><p><br/></p><p> 函数:public String getSimOperator()<br></p><p> 描述:获取 Android 系统 SIM 卡的运营商信息<br></p><p> 备注:需要 app 申请权限:android.permission.READ_PHONE_STATE<br></p><p> 参数说明:返回值:SIM 卡的运营商信息<br></p><p> 示例:</p><p>```java</p><p> String simOperator = ZtlManager.GetInstance().getSimOperator(); //simOperator 为获取到的 Android 系统 SIM 卡的运营商信息</p><p>```</p><p><br/></p><p> ## 获取4G模块基带版本信息</p><p><br/></p><p> 函数:public String getBaseBand()<br></p><p> 描述:获取4G模块基带版本信息<br></p><p> 参数说明:返回值:4G模块基带版本信息<br></p><p> 示例:</p><p>```java</p><p> String strBand = ZtlManager.GetInstance().getBaseBand(); </p><p>```</p><p><br/></p><p> ## 设置APN</p><p><br/></p><p> 函数:public void setAPN(String apn)<br></p><p> 描述:设置指定的APN<br></p><p> 备注:注意:设置前应使用hasAPN接口查询系统是否支持这个接口和是否已存在此APN<br></p><p> 参数说明:要设置的APN<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstance().setAPN("cnmet"); //设置cnmet</p><p>```</p><p><br/></p><p> ## 查询APN是否存在</p><p><br/></p><p> 函数:public String hasAPN(String apn)</p><p> 描述:查询指定的APN是否存在<br></p><p> 备注:查询apn是否存在<br></p><p> 参数说明:要查询的APN<br></p><p> 返回值:null表示没有初始化API或系统没有这接口,“-1”,不存在,其他已存在<br></p><p> 示例:</p><p>```java</p><p> String flag = ZtlManager.GetInstance().hasAPN("cnmet"); //查询cnmet是否存在</p><p>```</p><p># 文件</p><p><br/></p><p> ## 获取文件后缀名</p><p><br/></p><p> 函数:public String getFileType(String filePath)<br></p><p> 描述:获取指定文件的后缀名<br></p><p> 参数说明:filePath:文件路径;返回值:文件后缀名<br></p><p> 示例:</p><p>```java</p><p> String fileType = ZtlManager.GetInstance().getFileType("/sdcard/test.apk"); //fileType 为获取到的文件后缀名</p><p>```</p><p><br/></p><p> ## 判断文件是否存在</p><p><br/></p><p> 函数:public boolean isExist(String path)<br></p><p> 描述:获取指定路径文件的后缀名<br></p><p> 参数说明:Path:文件路径;返回值:true:文件存在;false:文件不存在<br></p><p> 示例:</p><p>```java</p><p> boolean isExist = ZtlManager.GetInstance().isExist("/sdcard/test.apk"); //isExist 为判断文件是否存在结果</p><p>```</p><p><br/></p><p> ## 计算GPIO值</p><p><br/></p><p> 函数:public int gpioStringToInt(String port)<br></p><p> 描述:计算指定 GPIO 值<br></p><p> 参数说明:port:GPIO口;返回值:GPIO值<br></p><p> 示例:</p><p>```java</p><p> int gpiovalue = ZtlManager.GetInstance.gpioStringToInt("GPIO7_A5"); //gpiovalue 为计算 GPIO7_A5 的值</p><p>```</p><p><br/></p><p> ## 设置GPIO输出值</p><p><br/></p><p> 方法1:<br></p><p> 函数:public void setGpioValue(String port, int value)<br></p><p> 描述:将对应的 GPIO 设置为输出模式,并设置输出电平<br></p><p> 备注:这只是个简易接口,为了更方便控制 GPIO 对象和提高执行效率,推荐使用 Gpio 类。<br></p><p> 参数说明:port:GPIO口,具体IO口号参考IO口对应列表;value:1:输出高电平;0:输出低电平<br></p><p> 示例:</p><p>```java</p><p> //设置 GPIO7_A5 为输出高电平</p><p> ZtlManager.GetInstance().setGpioValue("GPIO7_A5 ",1);</p><p>```</p><p> 方法2:<br></p><p> 函数:public int setGpioValue(int type, boolean bIn, boolean bHigh)<br></p><p> 描述:设置IO口的方向并设置值<br></p><p> 备注:这只是个简易接口,为了更方便控制 GPIO 对象和提高执行效率,推荐使用 Gpio 类。<br></p><p> 参数说明:type:GPIO口,对应规格书中的编号,如1、2、3等;bIn:true:设置输入模式;false:设置输出模式;bHigh:true:设置高电平;false:设置低电平<br></p><p> 返回值说明:-1:IO口输入错误或IO口打开失败;-2:系统不支持该接口;1:设置成功<br></p><p> 注意:当第二个参数设置成true时(设置IO口为输入模式),第三个参数设置无效。<br></p><p> 示例:</p><p>```java</p><p> //设置规格书中IO口编号1为输出,并设置为高电平</p><p> ZtlManager.GetInstance().setGpioValue(1, false, true);</p><p>```</p><p><br/></p><p> ## 获取GPIO值</p><p><br/></p><p> 方法1:<br></p><p> 函数:public int getGpioValue(String port, String direction)<br></p><p> 描述:获取指定 GPIO 的值。<br></p><p> 参数说明:port:GPIO口,具体IO口号参考IO口对应列表;direction:in:输入;out:输出。返回值:GPIO的输出值<br></p><p> 示例:</p><p>```java</p><p> int value = ZtlManager.GetInstance().getGpioValue("GPIO7_A5", "out"); //value 为获取到的 GPIO 输出值</p><p>```</p><p> 方法2:<br></p><p> 函数:public int getGpioValue(int type)<br></p><p> 描述:获取指定GPIO口的值。<br></p><p> 备注:这只是个简易接口,为了更方便控制 GPIO 对象和提高执行效率,推荐使用 Gpio 类。<br></p><p> 参数说明:type:GPIO口,对应规格书中的编号,如1、2、3等;<br></p><p> 返回值说明:-1:IO口输入错误或IO口打开失败;-2:系统不支持该接口;1:输入模式高电平;2:输入模式低电平;3:输出模式高电平;4:输出模式低电平<br></p><p> 示例:</p><p>```java</p><p> //设置规格书中IO口编号1为输出,并设置为高电平</p><p> int value = ZtlManager.GetInstance().getGpioValue(1); //value为获取GPIO编号1的值</p><p>```</p><p><br/></p><p> ## 设置GPIO方向</p><p><br/></p><p> 函数:public void setGpioDirection(String port, String direction)<br></p><p> 描述:设置 GPIO 的方向。<br></p><p> 参数说明:port:GPIO口,具体IO口号参考IO口对应列表;direction:in:输入;out:输出。<br></p><p> 示例:</p><p>```java</p><p> //设置 GPIO7_A5 为输入状态</p><p> ZtlManager.GetInstance().setGpioDirection("GPIO7_A5", "in");</p><p>```</p><p><br/></p><p> ## 获取GPIO方向</p><p><br/></p><p> 函数:public String getGpioDirection(String port)<br></p><p> 描述:获取 GPIO 的方向值。<br></p><p> 参数说明:port:GPIO口,具体IO口号参考IO口对应列表;返回值:in:输入;out:输出。<br></p><p> 示例:</p><p>```java</p><p> String direction = ZtlManager.GetInstance().getGpioDirection("GPIO7_A5");//direction 为 GPIO7_A5 的方向值</p><p>```</p><p><br/></p><p> ## 打开器件存储器</p><p><br/></p><p> 函数:public boolean openZtlI2C(String filePath, int chipID, int addrLen)<br></p><p> 描述:打开器件存储器<br></p><p> 参数说明:filePath:器件存储器节点名称,如:"/dev/i2c-1"<br></p><p> chipID:写入的i2c器件地址,注意不要跟系统的起冲突,否则会导致系统加密校验失败起不来<br></p><p> addrLen:写入的地址长度,比如RC16就是1位地址长度(支持读取8位地址,也就是你只能在read接口和write接口参数1里传入0-255),RC128就是2位地址长度.具体看器件文档)<br></p><p> 返回值:true:打开成功;false:打开失败<br></p><p> 备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。<br></p><p> 示例:</p><p>```java</p><p> boolean openI2C = ZtlManager.GetInstance().openZtlI2C("/dev/i2c-1", 0x30, 1);</p><p>//openI2C位打开返回的结果;"/dev/i2c-1"为器件节点名称;0x30为器件地址;1为写入地址位长度</p><p>```</p><p><br/></p><p> ## 铁电存储器专用写接口</p><p><br/></p><p> 函数:public void flashWrite(int addr, byte[]data, int nCount)<br></p><p> 描述:铁电存储器专用写接口,使用前需要先调用:openZtlI2C()接口<br></p><p> 参数说明:addr:写入的地址,如:0xa1、0xa2...等<br></p><p> data:写入内容,如:0x11,0x22,0x33...等<br></p><p> nCount:写入内容长度,如:1,代表读取存储器长度,需要和写入内容长度一致<br></p><p> 备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstance().flashWrite(0xa1, 0x11,1);//往0xa1地址写入0x11,长度为1的内容</p><p>```</p><p><br/></p><p> ## 铁电存储器专用读接口</p><p><br/></p><p> 函数:public byte[] flashRead(int addr, int nCount)<br></p><p> 描述:铁电存储器专用读接口,使用前需要先调用:openZtlI2C()接口<br></p><p> 参数说明:addr:读地址,地址长度为1时,请不要传入大于255的值,否则一切后果自负<br></p><p> nCount:需要读取的内容长度<br></p><p> 备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。<br></p><p> 示例:</p><p>```java</p><p> byte[] bRead = ZtlManager.GetInstance().flashRead(0xa1, 12);//读取0xa1地址中的12位内容;bRead为读取到的内容</p><p>```</p><p><br/></p><p> ## 加密芯片专用写接口</p><p><br/></p><p> 函数:public void chipWrite(int cmd, byte[] data, int nCount)<br></p><p> 描述:加密芯片专用写接口,使用前需要先调用:openZtlI2C()接口<br></p><p> 参数说明:cmd:芯片中程序代码的命令码<br></p><p> data:数据内容,如:0x11,0x22,0x33...等<br></p><p> nCount:写入内容长度,如:1,代表读取存储器长度,需要和写入内容长度一致<br></p><p> 备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstance().chipWrite(0xb1, 0x11,1);//往0xb1地址写入0x11,长度为1的内容</p><p>```</p><p><br/></p><p> ## 加密芯片专用读接口</p><p><br/></p><p> 函数:public byte[] chipRead(int cmd, int ncount)<br></p><p> 描述:加密芯片专用读接口,如果调用写接口后需要马上读取,建议间隔时间为10ms或以上;使用前需要先调用:openZtlI2C()接口<br></p><p> 参数说明:cmd:需要读取的内容,如芯片中代码的命令码,根据命令码返回的数据,如果要直接读取(如上次调用写接口后需要直接获取返回),需要传入-1<br></p><p> nCount:需要读取的内容长度<br></p><p> 备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。<br></p><p> 示例:</p><p>```java</p><p> byte[] bRead = ZtlManager.GetInstance().chipRead(0xb1, 12);//读取0xa1地址中的12位内容;bRead为读取到的内容</p><p>```</p><p><br/></p><p> ## 关闭器件存储器</p><p><br/></p><p> 函数:public void closeI2C()<br></p><p> 描述:关闭器件存储器<br></p><p> 备注:这只是个简易接口,如需提高执行效率,推荐使用ZtlI2C类。<br></p><p> 示例:</p><p>```java</p><p> ZtlManager.GetInstance().closeI2C()//关闭器件存储器</p><p>```</p><p><br/></p><p> ## 禁止卸载app</p><p><br/></p><p> 函数:public int setUninstallPackage(String packageS)<br></p><p> 描述:设置后,不可将app拖动至卸载框卸载。<br></p><p> 参数说明:-1:系统不支持;1:设置成功;-2:设置失败;-3:异常错误<br></p><p> 示例:</p><p>```java</p><p> int installok = ZtlManager.GetInstance().setUninstallPackage("com.ztl.test");//设置com.ztl.test禁止卸载,installok为返回参数</p><p>```</p><p><br/></p><p> ## 获取禁止卸载APP的包名</p><p><br/></p><p> 函数:public String getUninstallPackage()<br></p><p> 描述:获取setUninstallPackage()接口设置的不可卸载app的包名<br></p><p> 参数说明:返回值:禁止卸载app包名;1:系统不支持;error:异常错误<br></p><p> 示例:</p><p>```java</p><p> string uninstallpkg = ZtlManager.GetInstance().getUninstallPackage();//uninstallpkg为获取禁止卸载app的包名</p><p>```</p><p><br/></p><p> ## 获取ADC数值</p><p><br/></p><p> 函数:public String getADCValue()<br></p><p> 描述:获取ADC数值<br></p><p> 参数说明:返回值:获取到的ADC数值<br></p><p> 示例:</p><p>```java</p><p> string ADCValue = ZtlManager.GetInstance().getADCValue();//ADCValue为获取到的ADC数值</p><p>```</p><p><br/></p><p># 媒体</p><p><br/></p><p> ## 获取系统最大音量</p><p><br/></p><p> 函数:public int getSystemMaxVolume()<br></p><p> 描述:获取 Android 系统最大媒体音量值。<br></p><p> 参数说明:返回值:Android系统最大媒体音量<br></p><p> 示例:</p><p>```java</p><p> int maxVolume = ZtlManager.GetInstance().getSystemMaxVolume();//maxVolume 为获取到的 Android 系统最大媒体音量值</p><p>```</p><p><br/></p><p> ## 获取系统当前音量</p><p><br/></p><p> 函数:public int getSystemCurrenVolume()<br></p><p> 描述:获取 Android 系统当前媒体音量值<br></p><p> 参数说明:返回值:Android系统当前媒体音量<br></p><p> 示例:</p><p>```java</p><p> int currenVolume = ZtlManager.GetInstance().getSystemCurrenVolume();//currenVolume 为获取到的 Android 系统当前媒体音量值</p><p>```</p><p><br/></p><p> ## 增大音量</p><p><br/></p><p> 函数:public int setRaiseSystemVolume()<br></p><p> 描述:设置 Android 系统媒体音量值+1<br></p><p> 参数说明:返回值:0:设置成功;-1:设置失败。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统媒体音量值+1</p><p> ZtlManager.GetInstance().setRaiseSystemVolume();</p><p>```</p><p><br/></p><p> ## 降低音量</p><p><br/></p><p> 函数:public int setLowerSystemVolume()<br></p><p> 描述:设置 Android 系统媒体音量值-1<br></p><p> 参数说明:返回值:0:设置成功;-1:设置失败。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统媒体音量-1</p><p> ZtlManager.GetInstance().setLowerSystemVolume();</p><p>```</p><p><br/></p><p> ## 设置媒体音量值</p><p><br/></p><p> 函数:public int setSystemVolumeIndex(int index)<br></p><p> 描述:设置 Android 系统媒体音量值<br></p><p> 参数说明:index:设置Android系统媒体音量值。返回值:0:设置成功;-1:设置失败。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统媒体音量值为 10</p><p> ZtlManager.GetInstance().setSystemVolumeIndex(10);</p><p>```</p><p><br/></p><p> ## 设置指定音量的音量值</p><p><br/></p><p> 函数:public void setVolume(int streamType, int value)<br></p><p> 描述:设置 Android 系统指定音量的音量值<br></p><p> 参数说明:streamType:填入需要调整的音量,如:2:铃声音量 3:媒体音量 4:闹钟音量 value:设置Android系统铃声音量值。<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统铃声音量值为 5</p><p> ZtlManager.GetInstance().setVolume(2, 5);</p><p>```</p><p><br/></p><p> ## 获取指定音量的音量值</p><p><br/></p><p> 函数:public int getVolume(int streamType)<br></p><p> 描述:获取 Android 系统指定音量的音量值<br></p><p> 参数说明:streamType:填入需要调整的音量,如:2:铃声音量 3:媒体音量 4:闹钟音量<br></p><p> 示例:</p><p>```java</p><p> int value = ZtlManager.GetInstance().getVolume(2); //value为获取到的Android系统铃声音量</p><p>```</p><p><br/></p><p> ## 获取指定音量的最大音量值</p><p><br/></p><p> 函数:public int getMaxVolume(int streamType)<br></p><p> 描述:获取 Android 系统指定音量的最大音量值<br></p><p> 参数说明:streamType:填入需要调整的音量,如:2:铃声音量 3:媒体音量 4:闹钟音量<br></p><p> 示例:</p><p>```java</p><p> int maxValue = ZtlManager.GetInstance().getMaxVolume(2); //maxValue为获取到的Android系统铃声音量</p><p>```</p><p><br/></p><p> ## 设置相机方向</p><p><br/></p><p> 函数:public void setCameraOrientation(int orientation)<br></p><p> 描述:仅对 Android 系统相机 app 有效。<br></p><p> 参数说明:orientation:0:0度;90:相机方向顺时针旋转90度;180:相机方向顺时针旋转180度;270:相机方向顺时针旋转270度。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统相机方向顺时针旋转 90 度</p><p> ZtlManager.GetInstance().setCameraOrientation(90);</p><p>```</p><p><br/></p><p> ## 获取相机方向</p><p><br/></p><p> 函数:public int getCameraOrientation()<br></p><p> 描述:获取系统相机方向<br></p><p> 参数说明:返回值:Android系统相机方向。<br></p><p> 示例:</p><p>```java</p><p> int orientation = ZtlManager.GetInstance().getCameraOrientation();//orientation 为 Android 系统相机方向</p><p>```</p><p><br/></p><p> ## 判断相机是否镜像</p><p><br/></p><p> 函数:public boolean isCameraMirror()<br></p><p> 描述:判断 Android 系统相机是否镜像<br></p><p> 参数说明:返回值:true:镜像;false:非镜像。<br></p><p> 示例:</p><p>```java</p><p> boolean cameraIsMirror = ZtlManager.GetInstance().isCameraMirror();//cameraIsMirror 结果为 Android 系统相机是否镜像</p><p>```</p><p><br/></p><p> ## 设置相机是否镜像</p><p><br/></p><p> 函数:public void setCameraMirror(boolean bMisrror)<br></p><p> 描述:设置相机是否镜像<br></p><p> 参数说明:bMisrror:true:镜像;false:非镜像。<br></p><p> 示例:</p><p>```java</p><p> //设置 Android 系统相机为镜像</p><p> ZtlManager.GetInstance().setCameraMirror(true);</p><p>```</p><p><br/></p><p># 其他</p><p><br/></p><p> ## 打开性能监控小程序</p><p><br/></p><p> 函数:public void openMonitor()<br></p><p> 描述:打开性能监控,用于方便检查设备当前状态<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 示例:</p><p>```java</p><p> //打开性能监控</p><p> ZtlManager.GetInstance().openMonitor();</p><p>```</p><p><br/></p><p> ## 获取CPU可用频率</p><p><br/></p><p> 函数:public String[] getCPUFreq()<br></p><p> 描述:获取 Android 系统 CPU 可用频率<br></p><p> 备注:需系统固件支持。 验证方法见文末附注。<br></p><p> 参数说明:返回值:获取Android系统CPU可用频率。<br></p><p> 示例:</p><p>```java</p><p> String[] CPUFreq = ZtlManager.GetInstance().getCPUFreq();// CPUFreq 为CPU可用频率列表</p><p>```</p><p><br/></p><p> ## 设置CPU频率</p><p><br/></p><p> 函数:public void setCPUFreq(String cpuFreq)<br></p><p> 描述:设置 Android 系统 CPU 频率<br></p><p> 备注:必须是 getCPUFreq 返回的值其中一个。否则不起作用。设置过低可能会导致系统很卡。<br></p><p> 参数说明:cpuFreq:设置Android系统CPU频率。<br></p><p> 示例:</p><p>```java</p><p> //设置CPU频率为108000。</p><p> ZtlManager.GetInstance().setCPUFreq("1008000");</p><p>```</p><p><br/></p><p># 附注</p><p> ## 需要验证系统是否支持的API验证方法</p><p> 1:使用adb命令:adb shell pm path com.ztl.helper<br></p><p> 如果出现:package:/data/app/com.ztl.helper-1/base.apk,或其他路径,则系统支持。<br></p><p> 如果为空,请联系厂家技术支持。</p><p><br/></p> |
---|