B2B网络软件
标题:
安卓脚本app方法简单示例
[打印本页]
作者:
YYPOST群发软件
时间:
2 小时前
标题:
安卓脚本app方法简单示例
安卓脚本app方法简单示例
3.png
(1.57 MB, 下载次数: 0)
下载附件
2 小时前
上传
/**
* AIWROK app方法简单示例
* 演示常用的应用管理功能
* 交流QQ群: 711841924 (群一) / 528816639 (苹果脚本内测群)
*/
printl("=== AIWROK app方法简单示例 ===");
printl("");
sleep.second(2);
// 1. 获取当前Activity信息
printl("【1】获取当前Activity:");
var currentActivity = app.getCurrentActivity();
printl("当前Activity: " + currentActivity);
printl("");
sleep.second(2);
// 2. 获取顶端应用包名
printl("【2】获取顶端应用包名:");
var topPackName = app.getTopPackName();
printl("顶端应用包名: " + topPackName);
printl("");
sleep.second(2);
// 3. 获取应用名称和版本信息
printl("【3】获取应用信息:");
if (topPackName) {
var appName = app.getAppName(topPackName);
var verName = app.getVerName(topPackName);
var versionCode = app.getVersionCode(topPackName);
printl("应用名称: " + appName);
printl("版本名称: " + verName);
printl("版本号: " + versionCode);
}
printl("");
sleep.second(2);
// 4. 获取内存信息
printl("【4】获取内存信息:");
var memoryInfo = app.getMemory();
if (memoryInfo) {
try {
// AIWROK返回的是JSON字符串,使用正则表达式提取值
var totalMatch = memoryInfo.match(/"Total":(\d+)/);
var availableMatch = memoryInfo.match(/"Available":(\d+)/);
var usedMatch = memoryInfo.match(/"Used":(\d+)/);
var appMatch = memoryInfo.match(/"app":(\d+)/);
if (totalMatch && availableMatch && usedMatch && appMatch) {
printl("总内存: " + totalMatch[1] + " MB");
printl("可用内存: " + availableMatch[1] + " MB");
printl("已用内存: " + usedMatch[1] + " MB");
printl("应用占用: " + appMatch[1] + " MB");
} else {
printl("无法解析内存数据");
}
} catch (e) {
printl("内存信息处理失败: " + e.message);
}
} else {
printl("无法获取内存信息(可能需要AIWORK打包的APK)");
}
printl("");
sleep.second(2);
// 5. 获取内存使用百分比
printl("【5】内存使用百分比:");
var memoryPercent = app.getMemoryPercent();
printl("内存使用率: " + memoryPercent + "%");
printl("");
sleep.second(2);
// 6. 获取所有应用列表(只显示前5个)
printl("【6】应用列表(前5个):");
var allApps = app.getAllApp();
if (allApps) {
try {
printl("数据类型: " + typeof allApps);
// AIWROK可能返回字符串或对象
if (typeof allApps === 'string') {
// 如果是字符串,使用正则表达式匹配
var appPattern = /\{"package":"([^"]+)","appName":"([^"]+)"\}/g;
var match;
var count = 0;
while ((match = appPattern.exec(allApps)) !== null && count < 5) {
count++;
printl(" " + count + ". " + match[2] + " (" + match[1] + ")");
}
// 统计总数
var allMatches = allApps.match(appPattern);
if (allMatches && allMatches.length > 5) {
printl(" ... 共 " + allMatches.length + " 个应用");
}
} else if (Array.isArray(allApps)) {
// 如果直接是数组
var showCount = Math.min(5, allApps.length);
for (var i = 0; i < showCount; i++) {
var appItem = allApps[i];
if (typeof appItem === 'object') {
printl(" " + (i + 1) + ". " + appItem.appName + " (" + appItem.package + ")");
} else {
printl(" " + (i + 1) + ". " + appItem);
}
}
if (allApps.length > 5) {
printl(" ... 共 " + allApps.length + " 个应用");
}
} else {
// 尝试转换为字符串再处理
var appsStr = String(allApps);
printl("转换后: " + appsStr.substring(0, 200));
var appPattern = /\{"package":"([^"]+)","appName":"([^"]+)"\}/g;
var match;
var count = 0;
while ((match = appPattern.exec(appsStr)) !== null && count < 5) {
count++;
printl(" " + count + ". " + match[2] + " (" + match[1] + ")");
}
}
} catch (e) {
printl("应用列表处理失败: " + e.message);
}
} else {
printl("未获取到应用列表");
}
printl("");
sleep.second(2);
// 7. 获取运行进程信息
printl("【7】运行进程信息:");
var processes = app.logRunningProcesses();
if (processes) {
try {
printl("数据类型: " + typeof processes);
// AIWROK可能返回字符串或对象
if (typeof processes === 'string') {
// 如果是字符串,使用正则表达式提取
var procPattern = /\{"pid":(\d+),"processName":"([^"]+)"/g;
var match;
var procList = [];
while ((match = procPattern.exec(processes)) !== null) {
procList.push({pid: match[1], name: match[2]});
}
if (procList.length > 0) {
printl("运行中的进程数: " + procList.length);
var showCount = Math.min(5, procList.length);
for (var i = 0; i < showCount; i++) {
printl(" " + (i + 1) + ". PID: " + procList[i].pid + " | " + procList[i].name);
}
if (procList.length > 5) {
printl(" ... 还有 " + (procList.length - 5) + " 个进程");
}
} else {
printl("未找到进程信息");
}
} else {
// 尝试转换为字符串再处理
var procStr = String(processes);
printl("转换后: " + procStr.substring(0, 200));
var procPattern = /\{"pid":(\d+),"processName":"([^"]+)"/g;
var match;
var procList = [];
while ((match = procPattern.exec(procStr)) !== null) {
procList.push({pid: match[1], name: match[2]});
}
if (procList.length > 0) {
printl("运行中的进程数: " + procList.length);
var showCount = Math.min(5, procList.length);
for (var i = 0; i < showCount; i++) {
printl(" " + (i + 1) + ". PID: " + procList[i].pid + " | " + procList[i].name);
}
if (procList.length > 5) {
printl(" ... 还有 " + (procList.length - 5) + " 个进程");
}
} else {
printl("未找到进程信息");
}
}
} catch (e) {
printl("进程信息处理失败: " + e.message);
}
} else {
printl("未获取到进程信息");
}
printl("");
sleep.second(2);
printl("=== 示例执行完成 ===");
复制代码
欢迎光临 B2B网络软件 (http://bbs.niubt.cn/)
Powered by Discuz! X3.2