DevUtils GitHub
About ( 持续更新,目前含 200+ 工具类 ) Roadmap
DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用
该项目尽可能的便于开发人员,快捷、高效开发安全可靠的项目。

Documentation - Lib ( 全部已同步至 Maven Central )
DevApp - Android 工具类库
DevAssist - 封装逻辑代码, 实现多个快捷功能辅助类、以及 Engine 兼容框架等
DevBase - Base ( Activity、Fragment )、MVP、ViewBinding、ContentLayout 基类库
DevBaseMVVM - MVVM ( ViewDataBinding + ViewModel ) 基类库
DevJava - Java 工具类库 ( 不依赖 android api )
DevWidget - 自定义 View UI 库
DevEnvironment - Android 环境配置切换库
Other
DevBase2 Base 基础代码 ( 非基类库 )
DevOther 第三方库封装、以及部分特殊工具类等,方便 copy 封装类使用
JavaDoc API Generate 该工具类 (DevUtils) API 文档,是通过 JavaDoc 项目读取 class 信息生成,并且进行代码、注释间距规范检测,生成效果示范 DevApp - API
DevComponent ⚡️【Android 项目组件化示例代码】基于 Google JetPack AndroidX + Kotlin + Coroutines + MVVM 架构(DataBinding、ViewModel、Lifecycle)等最新技术栈进行组件化基础搭建,使用 ARouter 方案实现组件化
Dev 系列全部 Lib Gradle
// DevApp Android 工具类库
implementation 'io.github.afkt:DevAppX:2.2.4'
// DevAssist 快捷功能辅助类库
implementation 'io.github.afkt:DevAssist:1.2.0'
// DevBase Base ( Activity、Fragment )、MVP、ViewBinding、ContentLayout 基类库
implementation 'io.github.afkt:DevBase:1.0.5'
// DevBaseMVVM MVVM ( ViewDataBinding + ViewModel ) 基类库
implementation 'io.github.afkt:DevBaseMVVM:1.0.3'
// DevJava Java 工具类库 ( 不依赖 android api )
implementation 'io.github.afkt:DevJava:1.3.1' // 用于纯 Java 开发,如果依赖了 DevApp 则不需要依赖 DevJava
// DevWidget 自定义 View UI 库
implementation 'io.github.afkt:DevWidgetX:1.1.0'
// DevEnvironment Android 环境配置切换库
implementation 'io.github.afkt:DevEnvironment:1.0.3'
debugAnnotationProcessor 'io.github.afkt:DevEnvironmentCompiler:1.0.3' // kaptDebug
releaseAnnotationProcessor 'io.github.afkt:DevEnvironmentCompilerRelease:1.0.3' // kaptRelease
//annotationProcessor 'io.github.afkt:DevEnvironmentCompiler:1.0.3' // kapt
目录结构
- dev.utils | 根目录
- app | APP 相关工具类
- anim | 动画工具类
- assist | 辅助类
- manager | 管理器 如: TimerManager
- cache | 缓存工具类
- camera1 | 摄像头相关 android.hardware.Camera
- helper | 功能 Helper 辅助类
- image | 图片相关处理
- info | APP 信息、PackageInfo 等
- logger | 日志库 DevLogger
- permission | 权限工具类
- player | 多媒体 ( 视频、音频 ) 播放封装
- share | SharedPreferences 封装
- toast | Toast
- toaster | Toaster 处理无通知权限
- wifi | Wifi、热点工具类
- common | Java 工具类, 不依赖 android api
- assist | 各种快捷辅助类
- search | 搜索相关 ( 文件搜索等 )
- cipher | 编 / 解码工具类
- encrypt | 加密工具类
- file | 文件分片相关
- random | 随机概率算法工具类
- thread | 线程相关
- validator | 数据校验工具类
使用
只需要在 Application 中调用, 在 DevUtils FileProviderDevApp 中已初始化 , 无需主动调用DevUtils.init()进行初始化
事项
- 内部存在两个日志工具类 ( 工具类内部调用 ),对外使用 DevLogger
// 整个工具类内部日志信息,都通过以下两个工具类输出打印,并且通过 DevUtils.openLog() 控制开关
// dev.utils.app - APP 日志打印工具类
LogPrintUtils
// dev.utils.common - Java Common 日志打印工具类
JCLogUtils
- 开启日志
// 打开 lib 内部日志 - 线上 (release) 环境,不调用方法
DevUtils.openLog();
// 标示 debug 模式
DevUtils.openDebug();
- 如果出现
Failed to resolve: DevAppX-x.x.x可在根目录 build.gradle 添加
allprojects {
repositories {
// bintray maven 出现 Failed to resolve: DevAppX-x.x.x 可考虑加上这句
maven {
url 'https://dl.bintray.com/afkt/maven' }
}
}
-
工具类部分模块配置与使用 - Use and Config
-
部分 API 更新不及时或有遗漏等,
具体以对应的工具类为准
API
- dev.utils | 根目录
- app | APP 相关工具类
- anim | 动画工具类
- assist | 辅助类
- manager | 管理器 如: TimerManager
- cache | 缓存工具类
- camera1 | 摄像头相关 android.hardware.Camera
- helper | 功能 Helper 辅助类
- image | 图片相关处理
- info | APP 信息、PackageInfo 等
- logger | 日志库 DevLogger
- permission | 权限工具类
- player | 多媒体 ( 视频、音频 ) 播放封装
- share | SharedPreferences 封装
- toast | Toast
- toaster | Toaster 处理无通知权限
- wifi | Wifi、热点工具类
- common | Java 工具类, 不依赖 android api
- app | APP 相关工具类
dev.utils.app
- 无障碍功能工具类 -> AccessibilityUtils.java
| 方法 | 注释 |
|---|---|
| getService | 获取 AccessibilityService 对象 |
| setService | 设置 AccessibilityService 对象 |
| checkAccessibility | 检查是否开启无障碍功能 |
| isAccessibilitySettingsOn | 判断是否开启无障碍功能 |
| printAccessibilityEvent | 打印 AccessibilityEvent 信息日志 |
| findFocus | 查找符合条件的节点 |
| findAccessibilityNodeInfosByText | 查找符合条件的节点 |
| findAccessibilityNodeInfosByViewId | 查找符合条件的节点 |
| performClick | 点击指定的节点 |
| performLongClick | 长按指定的节点 |
| preformActionBack | 触发返回键 |
| preformActionHome | 触发 Home 键 |
| preformActionPowerDialog | 启动长按电源按钮 Dialog |
| preformActionLockScreen | 锁定屏幕 ( 非锁屏 ) |
| preformActionTakeScreenshot | 截屏 |
| preformActionNotifications | 打开通知栏 |
| preformActionRecents | 最近打开应用列表 |
| preformActionQuickSettings | 打开设置 |
| preformActionSplitScreen | 分屏 |
| preformAction | 模拟对应 Action 操作 |
| performGlobalAction | 模拟全局对应 Action 操作 |
- Activity 工具类 ( 包含 Activity 控制管理 ) -> ActivityUtils.java
| 方法 | 注释 |
|---|---|
| getWindow | 获取 Window |
| getActivity | 通过 Context 获取 Activity |
| isFinishing | 判断 Activity 是否关闭 |
| isActivityExists | 判断是否存在指定的 Activity |
| startHomeActivity | 回到桌面 ( 同点击 Home 键效果 ) |
| getLauncherActivity | 获取 Launcher activity |
| getActivityIcon | 获取 Activity 对应的 icon |
| getActivityLogo | 获取 Activity 对应的 logo |
| getActivityToLauncher | 获取对应包名应用启动的 Activity |
| getLauncherCategoryHomeToResolveInfo | 获取系统桌面信息 |
| getLauncherCategoryHomeToPackageName | 获取系统桌面信息 ( packageName ) |
| getLauncherCategoryHomeToActivityName | 获取系统桌面信息 ( activityName ) |
| getLauncherCategoryHomeToPackageAndName | 获取系统桌面信息 ( package/activityName ) |
| getOptionsBundle | 设置跳转动画 |
| getManager | 获取 ActivityUtils 管理实例 |
| getActivityStacks | 获取 Activity 栈 |
| addActivity | 添加 Activity |
| removeActivity | 移除 Activity |
| currentActivity | 获取最后一个 ( 当前 ) Activity |
| finishActivity | 关闭最后一个 ( 当前 ) Activity |
| existActivitys | 检测是否包含指定的 Activity |
| finishAllActivityToIgnore | 结束全部 Activity 除忽略的 Activity 外 |
| finishAllActivity | 结束所有 Activity |
| exitApplication | 退出应用程序 |
| restartApplication | 重启 APP |
| startActivityForResult | Activity 跳转回传 |
- ADB shell 工具类 -> ADBUtils.java
| 方法 | 注释 |
|---|---|
| isDeviceRooted | 判断设备是否 root |
| requestRoot | 请求 Root 权限 |
| isGrantedRoot | 判断 APP 是否授权 Root 权限 |
| getAppList | 获取 APP 列表 ( 包名 ) |
| getInstallAppList | 获取 APP 安装列表 ( 包名 ) |
| getUserAppList | 获取用户安装的应用列表 ( 包名 ) |
| getSystemAppList | 获取系统应用列表 ( 包名 ) |
| getEnableAppList | 获取启用的应用列表 ( 包名 ) |
| getDisableAppList | 获取禁用的应用列表 ( 包名 ) |
| getAppListToFilter | 获取包名包含字符串 xxx 的应用列表 |
| isInstalledApp | 判断是否安装应用 |
| getAppInstallPath | 查看应用安装路径 |
| clearAppDataCache | 清除应用数据与缓存 ( 相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」 ) |
| getAppMessage | 查看应用详细信息 |
| getVersionCode | 获取 APP versionCode |
| getVersionName | 获取 APP versionName |
| installApp | 安装应用 |
| installAppSilent | 静默安装应用 |
| uninstallApp | 卸载应用 |
| uninstallAppSilent | 静默卸载应用 |
| getActivityToLauncher | 获取对应包名应用启动的 Activity |
| getWindowCurrent | 获取当前显示的 Window |
| getWindowCurrent2 | 获取当前显示的 Window |
| getWindowCurrentToPackage | 获取对应包名显示的 Window |
| getActivityCurrent | 获取当前显示的 Activity |
| getActivitys | 获取 Activity 栈 |
| getActivitysToPackage | 获取对应包名的 Activity 栈 |
| getActivitysToPackageLists | 获取对应包名的 Activity 栈 ( 最新的 Activity 越靠后 ) |
| isActivityTopRepeat | 判断 Activity 栈顶是否重复 |
| getActivityTopRepeatCount | 获取 Activity 栈顶重复总数 |
| getServices | 查看正在运行的 Services |
| startSelfApp | 启动自身应用 |
| startActivity | 跳转页面 Activity |
| startService | 启动服务 |
| stopService | 停止服务 |
| sendBroadcastToAll | 发送广播 ( 向所有组件发送 ) |
| sendBroadcast | 发送广播 |
| kill | 销毁进程 |
| sendTrimMemory | 收紧内存 |
| tap | 点击某个区域 |
| swipeClick | 按压某个区域 ( 点击 ) |
| swipe | 滑动到某个区域 |
| text | 输入文本 ( 不支持中文 ) |
| keyevent | 触发某些按键 |
| screencap | 屏幕截图 |
| screenrecord | 录制屏幕 ( 以 mp4 格式保存 ) |
| wifiConf | 查看连接过的 Wifi 密码 |
| wifiSwitch | 开启 / 关闭 Wifi |
| setSystemTime | 设置系统时间 |
| setSystemTime2 | 设置系统时间 |
| shutdown | 关机 ( 需要 root 权限 ) |
| reboot | 重启设备 ( 需要 root 权限 ) |
| rebootToRecovery | 重启引导到 recovery ( 需要 root 权限 ) |
| rebootToBootloader | 重启引导到 bootloader ( 需要 root 权限 ) |
| sendEventSlide | 发送事件滑动 |
| getSDKVersion | 获取 SDK 版本 |
| getAndroidVersion | 获取 Android 系统版本 |
| getModel | 获取设备型号 ( 如 RedmiNote4X ) |
| getBrand | 获取设备品牌 |
| getDeviceName | 获取设备名 |
| getCpuAbiList | 获取 CPU 支持的 abi 列表 |
| getAppHeapsize | 获取每个应用程序的内存上限 |
| getBattery | 获取电池状况 |
| getDensity | 获取屏幕密度 |
| getScreenSize | 获取屏幕分辨率 |
| getDisplays | 获取显示屏参数 |
| getAndroidId | 获取 Android id |
| getIMEI | 获取 IMEI 码 |
| getIPAddress | 获取 IP 地址 |
| getMac | 获取 Mac 地址 |
| getCPU | 获取 CPU 信息 |
| getMemInfo | 获取内存信息 |
| setScreenSize | 设置屏幕大小 |
| resetScreen | 恢复原分辨率命令 |
| setDensity | 设置屏幕密度 |
| resetDensity | 恢复原屏幕密度 |
| setOverscan | 显示区域 ( 设置留白边距 ) |
| resetOverscan | 恢复原显示区域 |
| getScreenBrightnessMode | 获取亮度是否为自动获取 ( 自动调节亮度 ) |
| setScreenBrightnessMode | 设置亮度是否为自动获取 ( 自动调节亮度 ) |
| getScreenBrightness | 获取屏幕亮度值 |
| setScreenBrightness | 更改屏幕亮度值 ( 亮度值在 0-255 之间 ) |
| getScreenOffTimeout | 获取自动锁屏休眠时间 ( 单位毫秒 ) |
| setScreenOffTimeout | 设置自动锁屏休眠时间 ( 单位毫秒 ) |
| getGlobalAutoTime | 获取日期时间选项中通过网络获取时间的状态 |
| setGlobalAutoTime | 修改日期时间选项中通过网络获取时间的状态, 设置是否开启 |
| disableADB | 关闭 USB 调试模式 |
| putHiddenApi | 允许访问非 SDK API |
| deleteHiddenApi | 禁止访问非 SDK API |
| openAccessibility | 开启无障碍辅助功能 |
| closeAccessibility | 关闭无障碍辅助功能 |
- AlarmManager ( 全局定时器、闹钟 ) 工具类 -> AlarmUtils.java
| 方法 | 注释 |
|---|---|
| startAlarmIntent | 开启一次性闹钟 |
| stopAlarmIntent | 关闭闹钟 |
| startAlarmService | 开启 Service 闹钟 |
| stopAlarmService | 关闭 Service 闹钟 |
| startAlarmForegroundService | 开启 ForegroundService 闹钟 |
| stopAlarmForegroundService | 关闭 ForegroundService 闹钟 |
| startAlarmBroadcast | 开启 Receiver 闹钟 |
| stopAlarmBroadcast | 关闭 Receiver 闹钟 |
| startAlarmActivity | 开启 Activity 闹钟 |
| stopAlarmActivity | 关闭 Activity 闹钟 |
- 日志记录分析工具类 -> AnalysisRecordUtils.java
| 方法 | 注释 |
|---|---|
| init | 初始化操作 ( 内部已调用 ) |
| setCallBack | 设置文件记录回调 |
| record | 日志记录 |
| isHandler | 判断是否处理日志记录 |
| setHandler | 设置是否处理日志记录 |
| isAppendSpace | 判断是否追加空格 |
| setAppendSpace | 设置是否追加空格 |
| getLogFolderName | 获取日志文件名 |
| setLogFolderName | 设置日志文件夹名 |
| getLogStoragePath | 获取日志存储路径 |
| setLogStoragePath | 设置日志存储路径 |
| get | 获取日志记录分析文件对象 |
| getStoragePath | 获取存储路径 |
| getFileName | 获取日志文件名 |
| getFileFunction | 获取日志文件记录功能 |
| getFileIntervalTime | 获取日志文件记录间隔时间 |
| getFolderName | 获取日志文件夹名 |
| getLogPath | 获取日志文件地址 |
| getIntervalTimeFolder | 获取时间间隔所属的文件夹 |
- APP 通用工具类 -> AppCommonUtils.java
| 方法 | 注释 |
|---|---|
| getAppDeviceInfo | 获取应用、设备信息 |
| refreshAppDeviceInfo | 刷新应用、设备信息 |
| getUUID | 获取设备唯一 UUID |
| getUUIDDevice | 获取设备唯一 UUID ( 使用硬件信息拼凑出来的 ) |
| getFormatRes | 获取 R.string 资源的格式化字符串 |
| getSDKVersion | 获取 SDK 版本 |
| isFroyo | 是否在 2.2 版本及以上 |
| isGingerbread | 是否在 2.3 版本及以上 |
| isGingerbreadMR1 | 是否在 2.3.3 版本及以上 |
| isHoneycomb | 是否在 3.0 版本及以上 |
| isHoneycombMR1 | 是否在 3.1 版本及以上 |
| isIceCreamSandwich | 是否在 4.0 版本及以上 |
| isIceCreamSandwichMR1 | 是否在 4.0.3 版本及以上 |
| isJellyBean | 是否在 4.1 版本及以上 |
| isJellyBeanMR1 | 是否在 4.2 版本及以上 |
| isJellyBeanMR2 | 是否在 4.3 版本及以上 |
| isKitkat | 是否在 4.4.2 版本及以上 |
| isLollipop | 是否在 5.0.1 版本及以上 |
| isM | 是否在 6.0 版本及以上 |
| isN | 是否在 7.0 版本及以上 |
| isN_MR1 | 是否在 7.1.1 版本及以上 |
| isO | 是否在 8.0 版本及以上 |
| isO_MR1 | 是否在 8.1 版本及以上 |
| isP | 是否在 9.0 版本及以上 |
| isQ | 是否在 10.0 版本及以上 |
| isR | 是否在 11.0 版本及以上 |
| convertSDKVersion | 转换 SDK 版本 convertSDKVersion(14) = Android 4.0.0-2 |
- APP ( Android ) 工具类 -> AppUtils.java
| 方法 | 注释 |
|---|---|
| getWindowManager | 获取 WindowManager |
| getAudioManager | 获取 AudioManager |
| getSensorManager | 获取 SensorManager |
| getStorageManager | 获取 StorageManager |
| getWifiManager | 获取 WifiManager |
| getConnectivityManager | 获取 ConnectivityManager |
| getTelephonyManager | 获取 TelephonyManager |
| getAppOpsManager | 获取 AppOpsManager |
| getNotificationManager | 获取 NotificationManager |
| getShortcutManager | 获取 ShortcutManager |
| getActivityManager | 获取 ActivityManager |
| getPowerManager | 获取 PowerManager |
| getKeyguardManager | 获取 KeyguardManager |
| getInputMethodManager | 获取 InputMethodManager |
| getClipboardManager | 获取 ClipboardManager |
| getUsageStatsManager | 获取 UsageStatsManager |
| getAlarmManager | 获取 AlarmManager |
| getLocationManager | 获取 LocationManager |
| getVibrator | 获取 Vibrator |
| getSystemService | 获取 SystemService |
| getPackageManager | 获取 PackageManager |
| getApplicationInfo | 获取 ApplicationInfo |
| getPackageInfo | 获取 PackageInfo |
| getSharedPreferences | 获取 SharedPreferences |
| deleteDatabase | 根据名称清除数据库 |
| getPackageName | 获取 APP 包名 |
| getAppIcon | 获取 APP 图标 |
| getAppName | 获取 APP 应用名 |
| getAppVersionName | 获取 APP versionName |
| getAppVersionCode | 获取 APP versionCode |
| getAppPath | 获取 APP 安装包路径 /data/data/packageName/.apk |
| getAppSignature | 获取 APP Signature |
| getAppSignatureMD5 | 获取 APP 签名 MD5 值 |
| getAppSignatureSHA1 | 获取 APP 签名 SHA1 值 |
| getAppSignatureSHA256 | 获取 APP 签名 SHA256 值 |
| getAppSignatureHash | 获取应用签名 Hash 值 |
| isAppDebug | 判断 APP 是否 debug 模式 |
| isAppRelease | 判断 APP 是否 release 模式 |
| isAppSystem | 判断 APP 是否系统 app |
| isAppForeground | 判断 APP 是否在前台 |
| isInstalledApp | 判断是否安装了 APP |
| isInstalledApp2 | 判断是否安装了 APP |
| startActivity | Activity 跳转 |
| startActivityForResult | Activity 跳转回传 |
| startIntentSenderForResult | Activity 请求权限跳转回传 |
| registerReceiver | 注册广播监听 |
| unregisterReceiver | 注销广播监听 |
| sendBroadcast | 发送广播 |
| startService | 启动服务 |
| stopService | 停止服务 |
| installApp | 安装 APP( 支持 8.0) 的意图 |
| installAppSilent | 静默安装应用 |
| uninstallApp | 卸载应用 |
| uninstallAppSilent | 静默卸载应用 |
| launchApp | 打开 APP |
| launchAppDetailsSettings | 跳转到 APP 设置详情页面 |
| launchAppDetails | 跳转到 APP 应用商城详情页面 |
| openFile | 打开文件 |
| openFileByApp | 打开文件 ( 指定应用 ) |
| openPDFFile | 打开 PDF 文件 |
| openWordFile | 打开 Word 文件 |
| openOfficeByWPS | 调用 WPS 打开 office 文档 |
| startSysSetting | 跳转到系统设置页面 |
| openWirelessSettings | 打开网络设置界面 |
| openGpsSettings | 打开 GPS 设置界面 |
- 音频管理工具类 -> AudioManagerUtils.java
| 方法 | 注释 |
|---|---|
| getStreamMaxVolume | 获取指定声音流最大音量大小 |
| getStreamVolume | 获取指定声音流音量大小 |
| setStreamVolume | 设置指定声音流音量大小 |
| adjustVolumeLower | 控制手机音量, 调小一个单位 |
| adjustVolumeRaise | 控制手机音量, 调大一个单位 |
| adjustVolume | 控制手机音量, 调大或者调小一个单位 |
| adjustStreamVolumeLower | 控制指定声音流音量, 调小一个单位 |
| adjustStreamVolumeRaise | 控制指定声音流音量, 调大一个单位 |
| adjustStreamVolume | 控制指定声音流音量, 调大或者调小一个单位 |
| setStreamMuteByMusic | 设置媒体声音静音状态 |
| setStreamMuteByVoiceCall | 设置通话声音静音状态 |
| setStreamMuteBySystem | 设置系统声音静音状态 |
| setStreamMuteByRing | 设置来电响铃静音状态 |
| setStreamMuteByAlarm | 设置闹钟声音静音状态 |
| setStreamMuteByNotification | 设置通知声音静音状态 |
| setStreamMute | 设置指定声音流静音状态 |
| getMode | 获取当前的音频模式 |
| setMode | 设置当前的音频模式 |
| getRingerMode | 获取当前的铃声模式 |
| setRingerMode | 获取当前的铃声模式 |
| ringerSilent | 设置静音模式 ( 静音, 且无振动 ) |
| ringerVibrate | 设置震动模式 ( 静音, 但有振动 ) |
| ringerNormal | 设置正常模式 ( 正常声音, 振动开关由 setVibrateSetting 决定 ) |
| isDoNotDisturb | 判断是否授权 Do not disturb 权限 |
| setSpeakerphoneOn | 设置是否打开扩音器 ( 扬声器 ) |
| setMicrophoneMute | 设置是否让麦克风静音 |
| isSpeakerphoneOn | 判断是否打开扩音器 ( 扬声器 ) |
| isMicrophoneMute | 判断麦克风是否静音 |
| isMusicActive | 判断是否有音乐处于活跃状态 |
| isWiredHeadsetOn | 判断是否插入了耳机 |
| isBluetoothA2dpOn | 检查蓝牙 A2DP 音频外设是否已连接 |
| isBluetoothScoAvailableOffCall | 检查当前平台是否支持使用 SCO 的关闭调用用例 |
| isBluetoothScoOn | 检查通信是否使用蓝牙 SCO |
| setBluetoothScoOn | 设置是否使用蓝牙 SCO 耳机进行通讯 |
| startBluetoothSco | 启动蓝牙 SCO 音频连接 |
| stopBluetoothSco | 停止蓝牙 SCO 音频连接 |
| loadSoundEffects | 加载音效 |
| unloadSoundEffects | 卸载音效 |
| playSoundEffect | 播放音效 |
| abandonAudioFocus | 放弃音频焦点, 使上一个焦点所有者 ( 如果有 ) 接收焦点 |
| adjustSuggestedStreamVolume | 调整最相关的流的音量, 或者给定的回退流 |
| getParameters | 获取音频硬件指定 key 的参数值 |
| getVibrateSetting | 获取用户对振动类型的振动设置 |
- Bar 相关工具类 -> BarUtils.java
| 方法 | 注释 |
|---|---|
| getStatusBarHeight | 获取 StatusBar 高度 |
| isStatusBarVisible | 判断 StatusBar 是否显示 |
| setStatusBarVisibility | 设置 StatusBar 是否显示 |
| setStatusBarLightMode | 设置 StatusBar 是否高亮模式 |
| isStatusBarLightMode | 获取 StatusBar 是否高亮模式 |
| addMarginTopEqualStatusBarHeight | 添加 View 向上 StatusBar 同等高度边距 |
| subtractMarginTopEqualStatusBarHeight | 移除 View 向上 StatusBar 同等高度边距 |
| setStatusBarColor | 设置 StatusBar 颜色 |
| setStatusBarCustom | 设置自定义 StatusBar View |
| setStatusBarColorDrawer | 设置 DrawerLayout StatusBar 颜色 |
| transparentStatusBar | 设置透明 StatusBar |
| getActionBarHeight | 获取 ActionBar 高度 |
| setNotificationBarVisibility | 设置 Notification Bar 是否显示 |
| getNavBarHeight | 获取 Navigation Bar 高度 |
| setNavBarVisibility | 设置 Navigation Bar 是否可见 |
| isNavBarVisible | 判断 Navigation Bar 是否可见 |
| isSupportNavBar | 判断是否支持 Navigation Bar |
| setNavBarColor | 设置 Navigation Bar 颜色 |
| getNavBarColor | 获取 Navigation Bar 颜色 |
| setNavBarLightMode | 设置 Navigation Bar 是否高亮模式 |
| isNavBarLightMode | 获取 Navigation Bar 是否高亮模式 |
- 亮度相关工具类 -> BrightnessUtils.java
| 方法 | 注释 |
|---|---|
| isAutoBrightnessEnabled | 判断是否开启自动调节亮度 |
| setAutoBrightnessEnabled | 设置是否开启自动调节亮度 |
| getBrightness | 获取屏幕亮度 0-255 |
| setBrightness | 设置屏幕亮度 |
| setWindowBrightness | 设置窗口亮度 |
| getWindowBrightness | 获取窗口亮度 |
- 截图工具类 -> CapturePictureUtils.java
| 方法 | 注释 |
|---|---|
| setBitmapConfig | 设置 Bitmap Config |
| setBackgroundColor | 设置 Canvas 背景色 |
| setPaint | 设置画笔 |
| snapshotWithStatusBar | 获取当前屏幕截图, 包含状态栏 ( 顶部灰色 TitleBar 高度, 没有设置 android:theme 的 NoTitleBar 时会显示 ) |
| snapshotWithoutStatusBar | 获取当前屏幕截图, 不包含状态栏 ( 如果 android:theme 全屏, 则截图无状态栏 ) |
| enableSlowWholeDocumentDraw | 关闭 WebView 优化 |
| snapshotByWebView | 截图 WebView |
| snapshotByView | 通过 View 绘制为 Bitmap |
| snapshotByViewCache | 通过 View Cache 绘制为 Bitmap |
| snapshotByLinearLayout | 通过 LinearLayout 绘制为 Bitmap |
| snapshotByFrameLayout | 通过 FrameLayout 绘制为 Bitmap |
| snapshotByRelativeLayout | 通过 RelativeLayout 绘制为 Bitmap |
| snapshotByScrollView | 通过 ScrollView 绘制为 Bitmap |
| snapshotByHorizontalScrollView | 通过 HorizontalScrollView 绘制为 Bitmap |
| snapshotByNestedScrollView | 通过 NestedScrollView 绘制为 Bitmap |
| snapshotByListView | 通过 ListView 绘制为 Bitmap |
| snapshotByGridView | 通过 GridView 绘制为 Bitmap |
| snapshotByRecyclerView | 通过 RecyclerView 绘制为 Bitmap |
- 本应用数据清除管理工具类 -> CleanUtils.java
| 方法 | 注释 |
|---|---|
| cleanCache | 清除外部缓存 ( path /storage/emulated/0/android/data/package/cache ) |
| cleanAppCache | 清除内部缓存 ( path /data/data/package/cache ) |
| cleanAppFiles | 清除内部文件 ( path /data/data/package/files ) |
| cleanAppSp | 清除内部 SP ( path /data/data/package/shared_prefs ) |
| cleanAppDbs | 清除内部数据库 ( path /data/data/package/databases ) |
| cleanAppDbByName | 根据名称清除数据库 ( path /data/data/package/databases/dbName ) |
| cleanCustomDir | 清除自定义路径下的文件 |
| cleanApplicationData | 清除本应用所有的数据 |
- 点击 ( 双击 ) 工具类 -> ClickUtils.java
| 方法 | 注释 |
|---|---|
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setCheckViewId | 设置全局是否校验 viewId |
| setGlobalIntervalTime | 设置全局双击间隔时间 |
| get | 获取对应功能模块点击辅助类 |
| remove | 移除对应功能模块点击辅助类 |
| isFastDoubleClick | 判断是否双击 ( 无效点击, 短时间内多次点击 ) |
| initConfig | 初始化配置信息 |
| putConfig | 添加配置信息 |
| removeConfig | 移除配置信息 |
| getConfigTime | 获取配置时间 |
| removeRecord | 移除点击记录 |
| clearRecord | 清空全部点击记录 |
| setIntervalTime | 设置默认点击时间间隔 |
| reset | 重置处理 |
- 剪贴板相关工具类 -> ClipboardUtils.java
| 方法 | 注释 |
|---|---|
| copyText | 复制文本到剪贴板 |
| getText | 获取剪贴板文本 |
| copyUri | 复制 URI 到剪贴板 |
| getUri | 获取剪贴板 URI |
| copyIntent | 复制意图到剪贴板 |
| getIntent | 获取剪贴板意图 |
- ContentResolver 工具类 -> ContentResolverUtils.java
| 方法 | 注释 |
|---|---|
| getDataColumn | 获取 Uri Cursor 对应条件的数据行 data 字段 |
| getDisplayNameColumn | 获取 Uri Cursor 对应条件的数据行 display_name 字段 |
| delete | 删除多媒体资源 |
| update | 更新多媒体资源 |
| deleteDocument | 删除文件 |
| query | 获取 Uri Cursor |
| getMediaUri | 通过 File 获取 Media Uri |
| mediaQuery | 通过 File 获取 Media 信息 |
| getResult | 获取查询结果 |
| getProjection | 获取查询的字段 |
| getSelection | 获取查询条件 |
| getSelectionArgs | 获取查询条件的参数 |
| getSortOrder | 获取排序方式 |
- 获取 CPU 信息工具类 -> CPUUtils.java
| 方法 | 注释 |
|---|---|
| getProcessorsCount | 获取处理器的 Java 虚拟机的数量 |
| getSysCPUSerialNum | 获取手机 CPU 序列号 |
| getCpuInfo | 获取 CPU 信息 |
| getCpuModel | 获取 CPU 型号 |
| getMaxCpuFreq | 获取 CPU 最大频率 ( 单位 KHZ) |
| getMinCpuFreq | 获取 CPU 最小频率 ( 单位 KHZ) |
| getCurCpuFreq | 获取 CPU 当前频率 ( 单位 KHZ) |
| getCoresNumbers | 获取 CPU 核心数 |
| getCpuName | 获取 CPU 名字 |
| getCMDOutputString | 获取 CMD 指令回调数据 |
- UncaughtException 处理工具类 -> CrashUtils.java
| 方法 | 注释 |
|---|---|
| getInstance | 获取 CrashUtils 实例 |
| init | 初始化方法 |
| uncaughtException | 当 UncaughtException 发生时会转入该函数来处理 |
| handleException | 处理异常 |
- 数据库工具类 ( 导入导出等 ) -> DBUtils.java
| 方法 | 注释 |
|---|---|
| getAppDbsPath | 获取应用内部存储数据库路径 ( path /data/data/package/databases ) |
| getAppDbPath | 获取应用内部存储数据库路径 ( path /data/data/package/databases/name ) |
| startExportDatabase | 导出数据库 |
| startImportDatabase | 导入数据库 |
- 设备相关工具类 -> DeviceUtils.java
| 方法 | 注释 |
|---|---|
| getDeviceInfo | 获取设备信息 |
| handlerDeviceInfo | 处理设备信息 |
| getBoard | 获取设备基板名称 |
| getBootloader | 获取设备引导程序版本号 |
| getBrand | 获取设备品牌 |
| getCPU_ABI | 获取支持的第一个指令集 |
| getCPU_ABI2 | 获取支持的第二个指令集 |
| getABIs | 获取支持的指令集 如: [arm64-v8a, armeabi-v7a, armeabi] |
| getSUPPORTED_32_BIT_ABIS | 获取支持的 32 位指令集 |
| getSUPPORTED_64_BIT_ABIS | 获取支持的 64 位指令集 |
| getDevice | 获取设备驱动名称 |
| getDisplay | 获取设备显示的版本包 ( 在系统设置中显示为版本号 ) 和 ID 一样 |
| getFingerprint | 获取设备的唯一标识, 由设备的多个信息拼接合成 |
| getHardware | 获取设备硬件名称, 一般和基板名称一样 (BOARD) |
| getHost | 获取设备主机地址 |
| getID | 获取设备版本号 |
| getModel | 获取设备型号 如 RedmiNote4X |
| getManufacturer | 获取设备厂商 如 Xiaomi |
| getProduct | 获取整个产品的名称 |
| getRadio | 获取无线电固件版本号, 通常是不可用的 显示 unknown |
| getTags | 获取设备标签, 如 release-keys 或测试的 test-keys |
| getTime | 获取设备时间 |
| getType | 获取设备版本类型 主要为 “user” 或 “eng”. |
| getUser | 获取设备用户名 基本上都为 android-build |
| getSDKVersion | 获取 SDK 版本号 |
| getRelease | 获取系统版本号, 如 4.1.2 或 2.2 或 2.3 等 |
| getCodename | 获取设备当前的系统开发代号, 一般使用 REL 代替 |
| getIncremental | 获取系统源代码控制值, 一个数字或者 git hash 值 |
| getAndroidId | 获取 Android id |
| getBaseband_Ver | 获取基带版本 BASEBAND-VER |
| getLinuxCore_Ver | 获取内核版本 CORE-VER |
| isDeviceRooted | 判断设备是否 root |
| isAdbEnabled | 获取是否启用 ADB |
| getMacAddress | 获取设备 MAC 地址 |
| shutdown | 关机 ( 需要 root 权限 ) |
| reboot | 重启设备 ( 需要 root 权限 ) |
| rebootToRecovery | 重启引导到 recovery ( 需要 root 权限 ) |
| rebootToBootloader | 重启引导到 bootloader ( 需要 root 权限 ) |
| isTablet | 判断是否是平板 |
- Dialog 操作相关工具类 -> DialogUtils.java
| 方法 | 注释 |
|---|---|
| getWindow | 获取 Dialog Window |
| getAttributes | 获取 Dialog Window LayoutParams |
| setAttributes | 设置 Dialog Window LayoutParams |
| setWidth | 设置 Dialog 宽度 |
| setHeight | 设置 Dialog 高度 |
| setWidthHeight | 设置 Dialog 宽度、高度 |
| setX | 设置 Dialog X 轴坐标 |
| setY | 设置 Dialog Y 轴坐标 |
| setXY | 设置 Dialog X、Y 轴坐标 |
| setGravity | 设置 Dialog Gravity |
| setDimAmount | 设置 Dialog 透明度 |
| setCancelable | 设置是否允许返回键关闭 |
| setCanceledOnTouchOutside | 设置是否允许点击其他地方自动关闭 |
| setCancelableAndTouchOutside | 设置是否允许 返回键关闭、点击其他地方自动关闭 |
| isShowing | 获取 Dialog 是否显示 |
| showDialog | 显示 Dialog |
| closeDialog | 关闭 Dialog |
| closeDialogs | 关闭多个 Dialog |
| closePopupWindow | 关闭 PopupWindow |
| closePopupWindows | 关闭多个 PopupWindow |
| createAlertDialog | 创建提示 Dialog ( 原生样式 ) |
| createProgressDialog | 创建加载中 Dialog ( 原生样式 ) |
| autoCloseDialog | 自动关闭 dialog |
| autoClosePopupWindow | 自动关闭 PopupWindow |
| createSingleChoiceListDialog | 创建单选列表样式 Dialog |
| createSingleChoiceDialog | 创建单选样式 Dialog |
| createMultiChoiceDialog | 创建多选样式 Dialog |
| createViewDialog | 创建自定义 View 样式 Dialog |
- EditText 工具类 -> EditTextUtils.java
| 方法 | 注释 |
|---|---|
| getEditText | 获取 EditText |
| getText | 获取输入的内容 |
| getTextLength | 获取输入的内容长度 |
| setText | 设置内容 |
| setTexts | 设置多个 EditText 文本 |
| insert | 追加内容 ( 当前光标位置追加 ) |
| setMaxLength | 设置长度限制 |
| setMaxLengthAndText | 设置长度限制, 并且设置内容 |
| isCursorVisible | 是否显示光标 |
| setCursorVisible | 设置是否显示光标 |
| getSelectionStart | 获取光标位置 |
| setSelectionToTop | 设置光标在第一位 |
| setSelectionToBottom | 设置光标在最后一位 |
| setSelection | 设置光标位置 |
| getInputType | 设置输入类型 |
| setInputType | 设置输入类型 |
| getImeOptions | 设置软键盘右下角按钮类型 |
| setImeOptions | 设置软键盘右下角按钮类型 |
| getTransformationMethod | 获取文本视图显示转换 |
| setTransformationMethod | 设置文本视图显示转换 |
| addTextChangedListener | 添加输入监听事件 |
| removeTextChangedListener | 移除输入监听事件 |
| setKeyListener | 设置 KeyListener |
| getLettersKeyListener | 获取 DigitsKeyListener ( 限制只能输入字母, 默认弹出英文软键盘 ) |
| getNumberAndLettersKeyListener | 获取 DigitsKeyListener ( 限制只能输入字母和数字, 默认弹出英文软键盘 ) |
| getNumberKeyListener | 获取 DigitsKeyListener ( 限制只能输入数字, 默认弹出数字列表 ) |
| createDigitsKeyListener | 创建 DigitsKeyListener |
- 手电筒工具类 -> FlashlightUtils.java
| 方法 | 注释 |
|---|---|
| getInstance | 获取 FlashlightUtils 实例 |
| register | 注册摄像头 |
| unregister | 注销摄像头 |
| isFlashlightEnable | 是否支持手机闪光灯 |
| setFlashlightOn | 打开闪光灯 |
| setFlashlightOff | 关闭闪光灯 |
| isFlashlightOn | 是否打开闪光灯 |
- Handler 工具类 -> HandlerUtils.java
| 方法 | 注释 |
|---|---|
| getMainHandler | 获取主线程 Handler |
| isMainThread | 当前线程是否主线程 |
| postRunnable | 在主线程 Handler 中执行任务 |
| removeRunnable | 在主线程 Handler 中清除任务 |
| getRunnableMaps | 获取 Key Runnable Map |
| clearRunnableMaps | 清空 Key Runnable Map |
| containsKey | 判断 Map 是否存储 key Runnable |
| put | 通过 Key 存储 Runnable |
| remove | 通过 Key 移除 Runnable |
- ImageView 工具类 -> ImageViewUtils.java
| 方法 | 注释 |
|---|---|
| getImageView | 获取 ImageView |
| getAdjustViewBounds | 获取 ImageView 是否保持宽高比 |
| setAdjustViewBounds | 设置 ImageView 是否保持宽高比 |
| getMaxHeight | 获取 ImageView 最大高度 |
| setMaxHeight | 设置 ImageView 最大高度 |
| getMaxWidth | 获取 ImageView 最大宽度 |
| setMaxWidth | 设置 ImageView 最大宽度 |
| setImageBitmap | 设置 ImageView Bitmap |
| setImageDrawable | 设置 ImageView Drawable |
| setImageResource | 设置 ImageView 资源 |
| setImageMatrix | 设置 ImageView Matrix |
| setImageTintList | 设置 ImageView 着色颜色 |
| setImageTintMode | 设置 ImageView 着色模式 |
| setScaleType | 设置 ImageView 缩放类型 |
| getImageMatrix | 获取 ImageView Matrix |
| getImageTintList | 获取 ImageView 着色颜色 |
| getImageTintMode | 获取 ImageView 着色模式 |
| getScaleType | 获取 ImageView 缩放模式 |
| getDrawable | 获取 ImageView Drawable |
| setBackgroundResources | 设置 View 图片资源 |
| setImageResources | 设置 View 图片资源 |
| setImageBitmaps | 设置 View Bitmap |
| setImageDrawables | 设置 View Drawable |
| setScaleTypes | 设置 View 缩放模式 |
| getImageViewSize | 根据 ImageView 获适当的宽高 |
- Intent 相关工具类 -> IntentUtils.java
| 方法 | 注释 |
|---|---|
| getIntent | 获取 Intent |
| isIntentAvailable | 判断 Intent 是否可用 |
| getCategoryLauncherIntent | 获取 CATEGORY_LAUNCHER Intent |
| getInstallAppIntent | 获取安装 APP( 支持 8.0) 的意图 |
| getUninstallAppIntent | 获取卸载 APP 的意图 |
| getLaunchAppIntent | 获取打开 APP 的意图 |
| getSystemSettingIntent | 获取跳转到系统设置的意图 |
| getLaunchAppInstallPermissionSettingsIntent | 获取 APP 安装权限设置的意图 |
| getLaunchAppNotificationSettingsIntent | 获取 APP 通知权限设置的意图 |
| getLaunchAppNotificationListenSettingsIntent | 获取 APP 通知使用权页面 |
| getManageOverlayPermissionIntent | 获取悬浮窗口权限列表的意图 |
| getManageAppAllFilesAccessPermissionIntent | 获取 APP 授予所有文件管理权限的意图 |
| getManageAllFilesAccessPermissionIntent | 获取授予所有文件管理权限列表的意图 |
| getLaunchAppDetailsSettingsIntent | 获取 APP 具体设置的意图 |
| getLaunchAppDetailIntent | 获取到应用商店 APP 详情界面的意图 |
| getShareTextIntent | 获取分享文本的意图 |
| getShareImageIntent | 获取分享图片的意图 |
| getComponentIntent | 获取其他应用组件的意图 |
| getShutdownIntent | 获取关机的意图 |
| getDialIntent | 获取跳至拨号界面意图 |
| getCallIntent | 获取拨打电话意图 |
| getSendSmsIntent | 获取发送短信界面的意图 |
| getImageCaptureIntent | 获取图片拍摄的意图 |
| getVideoCaptureIntent | 获取视频拍摄的意图 |
| getOpenDocumentIntent | 获取存储访问框架的意图 |
| getCreateDocumentIntent | 获取创建文件的意图 |
| getOpenBrowserIntent | 获取打开浏览器的意图 |
| getOpenAndroidBrowserIntent | 获取打开 Android 浏览器的意图 |
- Android 原生 JSONObject 工具类 -> JSONObjectUtils.java
| 方法 | 注释 |
|---|---|
| toJson | 转换为 JSON 格式字符串 |
| fromJson | Object 转换 JSON 对象 |
| wrap | 包装转换 Object |
| stringJSONEscape | 字符串 JSON 转义处理 |
| isJSON | 判断字符串是否 JSON 格式 |
| isJSONObject | 判断字符串是否 JSON Object 格式 |
| isJSONArray | 判断字符串是否 JSON Array 格式 |
| jsonToMap | 将 JSON 格式字符串转化为 Map |
| jsonToList | 将 JSON 格式字符串转化为 List |
| getJSONObject | 获取 JSONObject |
| getJSONArray | 获取 JSONArray |
| get | 获取指定 key 数据 |
| opt | 获取指定 key 数据 |
- 软键盘相关工具类 -> KeyBoardUtils.java
| 方法 | 注释 |
|---|---|
| setDelayMillis | 设置延迟时间 |
| setSoftInputMode | 设置 Window 软键盘是否显示 |
| openKeyboard | 打开软键盘 |
| closeKeyboard | 关闭软键盘 |
| closeKeyBoardSpecial | 关闭软键盘 |
| toggleKeyboard | 自动切换键盘状态, 如果键盘显示了则隐藏, 隐藏着显示 |
| judgeView | 设置某个 View 内所有非 EditText 的子 View OnTouch |
358



被折叠的 条评论
为什么被折叠?



