# boost
**Repository Path**: crassus/boost
## Basic Information
- **Project Name**: boost
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-10-07
- **Last Updated**: 2026-03-09
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 机器人管理SDK
这是一个用于Android 12机器人的管理SDK,提供开机时长统计、浏览信息记录、开关机信息、设置使用时长、禁用话题、密码设置等功能。
## 功能特性
- ✅ **开机时长统计**: 记录和统计设备开机时长
- ✅ **浏览信息记录**: 记录用户浏览的网页信息
- ✅ **开关机信息**: 记录设备开关机事件
- ❌ **使用时长设置**: 功能已移除
- ❌ **话题禁用**: 功能已移除
- ❌ **密码保护**: 功能已移除
- ✅ **固件更新**: 支持固件更新功能
## 集成方式
### 1. 添加AAR依赖
将生成的AAR文件放入项目的`libs`目录,然后在`build.gradle`中添加:
```gradle
dependencies {
implementation files('libs/robot-manager.aar')
// 必需的依赖
implementation 'androidx.room:room-runtime:2.4.3'
implementation 'androidx.room:room-compiler:2.4.3'
implementation 'androidx.appcompat:appcompat:1.6.1'
}
```
### 2. 初始化SDK
在Application类中初始化:
```java
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 初始化机器人管理SDK
RobotManager.getInstance(this);
}
}
```
### 3. 添加权限
在`AndroidManifest.xml`中添加必要权限:
```xml
```
### 4. 注册广播接收器
在`AndroidManifest.xml`中注册开机和关机广播接收器:
```xml
```
## API使用示例
### 开机时长统计
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 获取当前开机时长
long currentUptime = robotManager.getCurrentUptime();
String formattedUptime = robotManager.formatUptime(currentUptime);
Log.d("Uptime", "当前开机时长: " + formattedUptime);
// 异步获取开机时长
robotManager.getCurrentUptimeAsync(new UptimeStatsService.UptimeCallback() {
@Override
public void onUptimeReceived(long uptime) {
String formatted = robotManager.formatUptime(uptime);
Log.d("Uptime", "当前开机时长: " + formatted);
}
});
// 获取平均开机时长
long averageUptime = robotManager.getAverageUptime(10);
Log.d("Uptime", "平均开机时长: " + robotManager.formatUptime(averageUptime));
```
### 设置使用时长
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 设置静默时间(晚上10点到早上7点)
robotManager.setQuietHours(22, 7);
// 检查当前是否在静默时间
boolean isQuietTime = robotManager.isWithinQuietHours();
if (isQuietTime) {
Log.d("Quiet", "当前在静默时间内");
}
// 获取静默时间设置
int startHour = robotManager.getQuietStartHour();
int endHour = robotManager.getQuietEndHour();
Log.d("Quiet", "静默时间: " + startHour + ":00 - " + endHour + ":00");
```
### 禁用话题
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 设置禁用的话题
Set blockedTopics = new HashSet<>();
blockedTopics.add("游戏");
blockedTopics.add("娱乐");
robotManager.setBlockedTopics(blockedTopics);
// 检查话题是否被禁用
boolean isBlocked = robotManager.isTopicBlocked("游戏");
if (isBlocked) {
Log.d("Block", "话题被禁用");
}
// 获取所有禁用话题
Set topics = robotManager.getBlockedTopics();
Log.d("Block", "禁用话题: " + topics.toString());
```
### 密码设置
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 设置密码
robotManager.setPassword("123456");
// 验证密码
boolean isValid = robotManager.verifyPassword("123456");
if (isValid) {
Log.d("Password", "密码正确");
}
// 获取密码
String password = robotManager.getPassword();
Log.d("Password", "当前密码: " + password);
```
### 浏览信息记录
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 记录浏览事件
robotManager.logBrowseEvent("https://www.example.com", "示例网站");
// 获取最近浏览记录
List browseEvents = robotManager.getRecentBrowseEvents();
for (BrowseEvent event : browseEvents) {
Log.d("Browse", "浏览: " + event.title + " - " + event.url);
}
```
### 开关机信息
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 手动记录开机事件
robotManager.logBootEvent();
// 手动记录关机事件
robotManager.logShutdownEvent();
// 获取最近电源事件
List powerEvents = robotManager.getRecentPowerEvents();
for (PowerEvent event : powerEvents) {
Log.d("Power", "电源事件: " + event.type + " at " + new Date(event.timestamp));
}
```
### 聊天消息记录
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 记录聊天消息
robotManager.logChatMessage("你好,机器人!", "用户");
// 获取最近聊天记录
List messages = robotManager.getRecentChatMessages();
for (ChatMessage message : messages) {
Log.d("Chat", message.sender + ": " + message.message);
}
```
### 打开管理界面
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 打开应用使用统计界面
robotManager.openAppUsageActivity();
// 打开设备开关机信息界面
robotManager.openDevicePowerInfoActivity();
// 打开系统控制界面
robotManager.openSystemControlActivity();
// 打开下载管理界面
robotManager.openDownloadsActivity();
```
## 高级用法
### 直接访问数据库
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 获取数据库实例进行高级操作
LogDatabase database = robotManager.getDatabase();
LogDao logDao = database.logDao();
// 自定义查询
List customQuery = logDao.getRecentBootEvents(5);
```
### 获取服务实例
```java
RobotManager robotManager = RobotManager.getInstance(context);
// 获取开机时长统计服务
UptimeStatsService uptimeService = robotManager.getUptimeStatsService();
// 获取数据库实例(用于高级操作)
LogDatabase database = robotManager.getDatabase();
```
## 注意事项
1. **Android 12兼容性**: 此SDK专为Android 12设计,确保目标设备运行Android 12或更高版本。
2. **权限要求**: 确保应用具有必要的权限,特别是开机自启动权限。
3. **数据库初始化**: SDK会自动初始化Room数据库,无需手动处理。
4. **线程安全**: 所有数据库操作都在后台线程执行,UI操作会自动切换到主线程。
5. **内存管理**: SDK使用单例模式,确保在Application级别初始化一次即可。
## 版本信息
- 版本: 1.0.0
- 最低Android版本: API 26 (Android 8.0)
- 目标Android版本: API 33 (Android 13)
- 编译SDK版本: API 34 (Android 14)
## 技术支持
如有问题或建议,请联系开发团队。