1. 系统

1.1 获取设备型号

函数:public static String getDeviceVersion();

描述:获取 Android 设备型号。

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

参数说明:

  • 返回值:String 类型,表示 Android 设备的设备型号。

示例:

String deviceVersion = yztiotManager.getDeviceVersion();
// deviceVersion 为获取到的设备型号

1.2 获取 JAR 版本

函数:public String getJARVersion();

描述:获取 jar 版本号。

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

参数说明:

  • 返回值:String 类型,表示 jar 版本号。

示例:

String JARVersion = yztiotManager.getJARVersion();
// JARVersion 为获取到的设备型号

1.3 获取设备唯一 ID

函数:public String getDeviceID();

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

参数说明:

  • 返回值:String 类型,表示设备的序列号。

示例:

String deviceID = yztiotManager.getDeviceID();
// deviceID 为获取到的设备序列号

1.4 获取系统版本

函数:public static String getAndroidVersion();

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

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

参数说明:

  • 返回值:String 类型,表示 Android 设备系统版本号。

示例:

String AndroidVersion = yztiotManager.getAndroidVersion();
// AndroidVersion 为获取到的设备系统版本号

1.5 获取系统 SDK 版本

函数:public int getSDKVersion();

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

参数说明:

  • 返回值:int 类型,表示 Android 设备系统 SDK 版本号。

示例:

int SDKVersion = yztiotManager.getSDKVersion();
// SDKVersion 为获取到的设备系统 SDK 版本

1.6 获取内部存储大小

函数:public long getTotalInternalMemorySize();

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

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

参数说明:

  • 返回值:long 类型,表示 Android 设备内部存储大小(单位:字节)。

示例:

long totalInternalMemorySize = yztiotManager.getTotalInternalMemorySize();
// totalInternalMemorySize 为获取到的内部存储大小(字节)

1.7 获取剩余运行内存

函数:public long getFreeMemorySize();

描述:获取剩余的运行内存,单位:字节。

用途:可用于监听 app 内存使用情况, 用来查看是否有内存泄漏。

参数说明:

  • 返回值:long 类型,表示设备剩余运行内存(单位:字节)。

示例:

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

1.8 获取内部 SD 卡路径

函数:public String getInternalSDCardPath();

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

参数说明:

  • 返回值:String 类型,表示内部 SD 卡路径。

示例:

String internalSDCardPath = yztiotManager.getInternalSDCardPath();
//internalSDCardPath 为获取到的内部 SD 卡路径

1.9 获取外部 SD 卡路径

函数:public String getExternalSDCardPath();

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

参数说明:

  • 返回值:String 类型,表示外部 SD 卡路径。

示例:

String externalSDCardPath = yztiotManager.getExternalSDCardPath();
// externalSDCardPath 为获取到的外部 SD 卡路径

1.10 获取 U 盘路径

函数:public String getUsbStoragePath();

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

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

参数说明:

  • 返回值:String 类型,表示获取 U 盘路径。

示例:

String usbStoragePath = yztiotManager.getUsbStoragePath();
// usbStoragePath 为获取到的 U 盘路径

1.11 关机

函数:public void shutdown();

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

示例:

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

1.12 重启

函数:public void reboot(int delay);

描述:重启 Android 系统。

说明:该接口在选在关机时会保存用户数据, 以防用户数据丢失。

参数说明:

  • delay:int 类型,表示延迟时间,单位:秒,如不需要延时,填入 0 即可。

示例:

yztiotManager.reboot(1000);
// 1 秒后进入重启状态

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

函数:public boolean isAppExist(String pkgName);

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

参数说明:

  • pkgName:String 类型,表示需要判断的 app 包名。
  • 返回值:boolean 类型,True:存在,false:不存在。

示例:

boolean result = yztiotManager.isAppExist("com.android.settings");
// result 为判断 APP 是否存在的返回结果

1.14 打开系统设置界面

函数:public void startSettings();

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

示例:

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

1.15 打开系统 Wifi 设置界面

函数:public void startWifiSettings();

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

示例:

yztiotManager.startWifiSettings();
// 打开系统 Wifi 设置界面

1.16 设置 GPIO 输出值

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

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

参数说明:

  • port:String 类型,表示 GPIO 口,具体 IO 口号参考对应列表。
  • value:int 类型,1:输出高电平 0:输出低电平。

示例:

yztiotManager.setGpioValue("GPIO_B8", 1);
// 设置 GPIO_B8 输出高电平

1.17 获取 GPIO 值

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

描述:获取指定 GPIO 的值。

参数说明:

  • port:String 类型,表示 GPIO 口。
  • direction:String 类型,表示 GPIO 的方向,in:输入 out:输出。
  • 返回值:int 类型,表示 GPIO 的输出值。

示例:

int value = yztiotManager.getGpioValue("GPIO_B8", "out");
// value 为获取到的 GPIO_B8 输出值

1.18 设置 GPIO 方向

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

描述:设置 GPIO 的方向。

参数说明:

  • port:String 类型,表示 GPIO 口。
  • direction:String 类型,表示 GPIO 的方向,in:输入 out:输出。

示例:

yztiotManager.setGpioDirection("GPIO_B8", "out");
// 设置 GPIO_B8 为输出状态

1.19 获取 GPIO 的方向值

函数:public String getGpioDirection(String port);

描述:获取 GPIO 的方向值。

参数说明:

  • port:String 类型,表示 GPIO 口。
  • 返回值:String 类型,表示 GPIO 的方向值,in:输入 out:输出。

示例:

String value = yztiotManager.getGpioDirection("GPIO_B8");
// value 为获取到的 GPIO_B8 的方向值

1.20 设置开机自启动

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

描述:设置 Android 系统开机自启动 APP 包名和 Activity,参数为空时取消开机自启动。

参数说明:

  • pkgName:String 类型,表示 APP 包名,取消参数填空即可。
  • pkgActivity:String 类型,表示 APP 的 Activity 类名,取消参数填空即可。

示例:

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

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

函数:public void getBootPackageName(CallBack callBack);

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

参数说明:

  • CallBack:回调函数接口,用于接收返回值。

示例:

yztiotManager.getBootPackageName(new yztiotManager.CallBack() {
    @Override
    public void returnValue(String bootPackageValue) {
        // 处理获取到的开机自启动 APP 包名
    }
});

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

函数:public void getBootPackageActivity(CallBack callBack);

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

参数说明:

  • CallBack:回调函数接口,用于接收返回值。

示例:

yztiotManager.getBootPackageActivity(new yztiotManager.CallBack() {
    @Override
    public void returnValue(String value) {
        // 处理获取到的开机自启动 Activity 类名
    }
});

1.23 启动另一个 APP

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

描述:启动另一个 APP。

参数说明:

  • pkgName:String 类型,表示 APP 包名。
  • pkgActivity:String 类型,表示 APP 的 Activity 类名。

示例:

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

1.24 判断文件是否存在

函数:public boolean isExist(String path);

描述:判断指定路径名称文件是否存在。

参数说明:

  • path:String 类型,表示需要判断的文件路径。

示例:

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

1.25 静默安装 APK

函数:public void installAppSilent(String filePath);

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

说明:仅限于有 root 权限的固件使用。

参数说明:

  • filePath:String 类型,表示 APK 文件路径。

示例:

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

1.26 卸载 APP

函数:public void uninstallAppSilent(String packageName);

描述:卸载指定包名的 APP。

参数说明:

  • packageName:String 类型,表示指定 APP 包名。

示例:

yztiotManager.uninstallAppSilent("com.dc.test");
// 卸载 test.apk

1.27 静默安装 APK 并且重启系统

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

描述:静默安装 APK 并且重启系统。

参数说明:

  • filePath:String 类型,表示 APK 文件路径。
  • reboot_in_sec:int 类型,表示安装完成后延迟多少秒再重启。

示例:

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

1.28 安装 APP 并启动安装的 APP

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

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

参数说明:

  • filePath:String 类型,表示 APK 文件路径。
  • pkgName:String 类型,表示要启动的 APP 包名。

示例:

yztiotManager.installAppAndStartUp("/sdcard/test.apk", "com.dc.test");
// 安装 /sdcard/ 目录下的 test.apk,并且安装完成后启动 test.apk

1.29 守护进程,保持置顶状态

函数:public void keepActivity(String pkgName);

描述:在程序被切换到后台或关闭时,自动返回或启动该 app,保持该 app 在前端。

参数说明:

  • pkgName:String 类型,表示需要保持置顶的 app 包名。

示例:

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

1.30 取消守护进程,取消置顶状态

函数:public void unKeepActivity();

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

示例:

yztiotManager.unKeepActivity();
// 取消置顶状态

1.31 获取系统最大音量

函数:public int getSystemMaxVolume();

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

参数说明:

  • 返回值:int 类型,表示 Android 系统最大媒体音量值。

示例:

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

1.32 获取系统当前音量

函数:public int getSystemCurrenVolume();

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

参数说明:

  • 返回值:int 类型,表示 Android 系统当前媒体音量值。

示例:

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

1.33 增大音量

函数:public int setRaiseSystemVolume();

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

参数说明:

  • 返回值:int 类型,表示 0:设置成功 -1:设置失败。

示例:

int flag = yztiotManager.setRaiseSystemVolume();
// 设置 Android 系统媒体音量值+1。

1.34 降低音量

函数:public int setLowerSystemVolume();

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

参数说明:

  • 返回值:int 类型,表示 0:设置成功 -1:设置失败。

示例:

int flag = yztiotManager.setLowerSystemVolume();
// 设置 Android系统媒体音量值-1

1.35 设置音量

函数:public int setSystemVolumeIndex(int index);

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

参数说明:

  • index:int 类型,表示设置 Android 系统媒体音量值。
  • 返回值:int 类型,表示 0:设置成功 -1:设置失败。

示例:

int returnValue = yztiotManager.setSystemVolumeIndex(10);
// 设置 Android 系统媒体音量值为 10

1.36 设置系统桌面

函数:public void setDefaultLauncher(String defPackageName, String defClassName);

描述:设置 Android 系统桌面。

参数说明:

  • defPackageName:String 类型,表示 APP 包名。
  • defClassName:String 类型,表示 APP 的 Activity 类名。

示例:

yztiotManager.setDefaultLauncher("com.watmind.xn", "com.watmind.xn.SplashActivity");
// 设置系统桌面

1.37 获取指定网络的 IPV4 地址

函数:public String getIPv4(String nettype);

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

参数说明:

  • nettype:String 类型,表示网络类型,如 “eth0” 表示以太网,”wlan0” 表示 wifi,”ppp0” 表示电话卡。
  • 返回值:String 类型,表示获取到的 IPV4 地址。

示例:

String ipAddress = yztiotManager.getIPv4("eth0");
// ipAddress 为获取到的 IPV4 地址

1.38 以root权限执行系统命令

函数:public void execSuCmd(String cmd);

描述:以root权限执行系统命令。

参数说明:

  • cmd:String 类型,表示执行的命令。

示例:

yztiotManager.setContext(this);
yztiotManager.execSuCmd("ifconfig eth0 up");
// 加载ETH0网口

1.39 设置静态IP和切换动态IP

函数:public void setStaticIP(String mode, String ipAddress, String prefixLength, String gateway, String dns);

描述:设置静态IP。

参数说明:

  • mode:String 类型,static表示静态IP模式 dhcp表示动态分配
  • ipAddress:String 类型,IP地址。
  • prefixLength:String 类型,长度。
  • gateway:String 类型,网关。
  • dns:String 类型,DNS。

示例:

yztiotManager.setContext(this);
yztiotManager.setStaticIP("static","192.168.1.100","24","192.168.1.0","8.8.8.8");// 设置静态IP 192.168.1.100 长度24 网关192.168.1.0 DNS 8.8.8.8
yztiotManager.setStaticIP("dhcp","0.0.0.0","0","0.0.0.0","0.0.0.0");//自动分配IP

1.40 读取4G卡号

函数:public static List<String> getIccids(Context context);

描述:读取4G卡号

示例:

yztiotManager.setContext(this);
List<String> iccids = yztiotManager.getIccids(this);
String iccidsString = String.join(", ", iccids);
Log.d(TAG, "iccids = " + iccidsString);
作者:lzx  创建时间:2025-02-08 11:46
最后编辑:lzx  更新时间:2025-04-16 11:40