YYPOST群发软件 发表于 2026-5-27 06:41:49

安卓脚本app方法简单示例


安卓脚本app方法简单示例


/**
* 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 + " MB");
            printl("可用内存: " + availableMatch + " MB");
            printl("已用内存: " + usedMatch + " MB");
            printl("应用占用: " + appMatch + " 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 + " (" + match + ")");
            }
            
            // 统计总数
            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;
                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 + " (" + match + ")");
            }
      }
    } 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, name: match});
            }
            
            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.pid + " | " + procList.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, name: match});
            }
            
            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.pid + " | " + procList.name);
                }
                if (procList.length > 5) {
                  printl("... 还有 " + (procList.length - 5) + " 个进程");
                }
            } else {
                printl("未找到进程信息");
            }
      }
    } catch (e) {
      printl("进程信息处理失败: " + e.message);
    }
} else {
    printl("未获取到进程信息");
}
printl("");
sleep.second(2);

printl("=== 示例执行完成 ===");


页: [1]
查看完整版本: 安卓脚本app方法简单示例