B2B网络软件

标题: 安卓脚本app方法简单示例 [打印本页]

作者: YYPOST群发软件    时间: 2 小时前
标题: 安卓脚本app方法简单示例

安卓脚本app方法简单示例
安卓脚本app方法简单示例 B2B网络软件

  1. /**
  2. * AIWROK app方法简单示例
  3. * 演示常用的应用管理功能
  4. * 交流QQ群: 711841924 (群一) / 528816639 (苹果脚本内测群)
  5. */

  6. printl("=== AIWROK app方法简单示例 ===");
  7. printl("");
  8. sleep.second(2);

  9. // 1. 获取当前Activity信息
  10. printl("【1】获取当前Activity:");
  11. var currentActivity = app.getCurrentActivity();
  12. printl("当前Activity: " + currentActivity);
  13. printl("");
  14. sleep.second(2);

  15. // 2. 获取顶端应用包名
  16. printl("【2】获取顶端应用包名:");
  17. var topPackName = app.getTopPackName();
  18. printl("顶端应用包名: " + topPackName);
  19. printl("");
  20. sleep.second(2);

  21. // 3. 获取应用名称和版本信息
  22. printl("【3】获取应用信息:");
  23. if (topPackName) {
  24.     var appName = app.getAppName(topPackName);
  25.     var verName = app.getVerName(topPackName);
  26.     var versionCode = app.getVersionCode(topPackName);
  27.    
  28.     printl("应用名称: " + appName);
  29.     printl("版本名称: " + verName);
  30.     printl("版本号: " + versionCode);
  31. }
  32. printl("");
  33. sleep.second(2);

  34. // 4. 获取内存信息
  35. printl("【4】获取内存信息:");
  36. var memoryInfo = app.getMemory();
  37. if (memoryInfo) {
  38.     try {
  39.         // AIWROK返回的是JSON字符串,使用正则表达式提取值
  40.         var totalMatch = memoryInfo.match(/"Total":(\d+)/);
  41.         var availableMatch = memoryInfo.match(/"Available":(\d+)/);
  42.         var usedMatch = memoryInfo.match(/"Used":(\d+)/);
  43.         var appMatch = memoryInfo.match(/"app":(\d+)/);
  44.         
  45.         if (totalMatch && availableMatch && usedMatch && appMatch) {
  46.             printl("总内存: " + totalMatch[1] + " MB");
  47.             printl("可用内存: " + availableMatch[1] + " MB");
  48.             printl("已用内存: " + usedMatch[1] + " MB");
  49.             printl("应用占用: " + appMatch[1] + " MB");
  50.         } else {
  51.             printl("无法解析内存数据");
  52.         }
  53.     } catch (e) {
  54.         printl("内存信息处理失败: " + e.message);
  55.     }
  56. } else {
  57.     printl("无法获取内存信息(可能需要AIWORK打包的APK)");
  58. }
  59. printl("");
  60. sleep.second(2);

  61. // 5. 获取内存使用百分比
  62. printl("【5】内存使用百分比:");
  63. var memoryPercent = app.getMemoryPercent();
  64. printl("内存使用率: " + memoryPercent + "%");
  65. printl("");
  66. sleep.second(2);

  67. // 6. 获取所有应用列表(只显示前5个)
  68. printl("【6】应用列表(前5个):");
  69. var allApps = app.getAllApp();
  70. if (allApps) {
  71.     try {
  72.         printl("数据类型: " + typeof allApps);
  73.         
  74.         // AIWROK可能返回字符串或对象
  75.         if (typeof allApps === 'string') {
  76.             // 如果是字符串,使用正则表达式匹配
  77.             var appPattern = /\{"package":"([^"]+)","appName":"([^"]+)"\}/g;
  78.             var match;
  79.             var count = 0;
  80.             
  81.             while ((match = appPattern.exec(allApps)) !== null && count < 5) {
  82.                 count++;
  83.                 printl("  " + count + ". " + match[2] + " (" + match[1] + ")");
  84.             }
  85.             
  86.             // 统计总数
  87.             var allMatches = allApps.match(appPattern);
  88.             if (allMatches && allMatches.length > 5) {
  89.                 printl("  ... 共 " + allMatches.length + " 个应用");
  90.             }
  91.         } else if (Array.isArray(allApps)) {
  92.             // 如果直接是数组
  93.             var showCount = Math.min(5, allApps.length);
  94.             for (var i = 0; i < showCount; i++) {
  95.                 var appItem = allApps[i];
  96.                 if (typeof appItem === 'object') {
  97.                     printl("  " + (i + 1) + ". " + appItem.appName + " (" + appItem.package + ")");
  98.                 } else {
  99.                     printl("  " + (i + 1) + ". " + appItem);
  100.                 }
  101.             }
  102.             if (allApps.length > 5) {
  103.                 printl("  ... 共 " + allApps.length + " 个应用");
  104.             }
  105.         } else {
  106.             // 尝试转换为字符串再处理
  107.             var appsStr = String(allApps);
  108.             printl("转换后: " + appsStr.substring(0, 200));
  109.             
  110.             var appPattern = /\{"package":"([^"]+)","appName":"([^"]+)"\}/g;
  111.             var match;
  112.             var count = 0;
  113.             
  114.             while ((match = appPattern.exec(appsStr)) !== null && count < 5) {
  115.                 count++;
  116.                 printl("  " + count + ". " + match[2] + " (" + match[1] + ")");
  117.             }
  118.         }
  119.     } catch (e) {
  120.         printl("应用列表处理失败: " + e.message);
  121.     }
  122. } else {
  123.     printl("未获取到应用列表");
  124. }
  125. printl("");
  126. sleep.second(2);

  127. // 7. 获取运行进程信息
  128. printl("【7】运行进程信息:");
  129. var processes = app.logRunningProcesses();
  130. if (processes) {
  131.     try {
  132.         printl("数据类型: " + typeof processes);
  133.         
  134.         // AIWROK可能返回字符串或对象
  135.         if (typeof processes === 'string') {
  136.             // 如果是字符串,使用正则表达式提取
  137.             var procPattern = /\{"pid":(\d+),"processName":"([^"]+)"/g;
  138.             var match;
  139.             var procList = [];
  140.             
  141.             while ((match = procPattern.exec(processes)) !== null) {
  142.                 procList.push({pid: match[1], name: match[2]});
  143.             }
  144.             
  145.             if (procList.length > 0) {
  146.                 printl("运行中的进程数: " + procList.length);
  147.                 var showCount = Math.min(5, procList.length);
  148.                 for (var i = 0; i < showCount; i++) {
  149.                     printl("  " + (i + 1) + ". PID: " + procList[i].pid + " | " + procList[i].name);
  150.                 }
  151.                 if (procList.length > 5) {
  152.                     printl("  ... 还有 " + (procList.length - 5) + " 个进程");
  153.                 }
  154.             } else {
  155.                 printl("未找到进程信息");
  156.             }
  157.         } else {
  158.             // 尝试转换为字符串再处理
  159.             var procStr = String(processes);
  160.             printl("转换后: " + procStr.substring(0, 200));
  161.             
  162.             var procPattern = /\{"pid":(\d+),"processName":"([^"]+)"/g;
  163.             var match;
  164.             var procList = [];
  165.             
  166.             while ((match = procPattern.exec(procStr)) !== null) {
  167.                 procList.push({pid: match[1], name: match[2]});
  168.             }
  169.             
  170.             if (procList.length > 0) {
  171.                 printl("运行中的进程数: " + procList.length);
  172.                 var showCount = Math.min(5, procList.length);
  173.                 for (var i = 0; i < showCount; i++) {
  174.                     printl("  " + (i + 1) + ". PID: " + procList[i].pid + " | " + procList[i].name);
  175.                 }
  176.                 if (procList.length > 5) {
  177.                     printl("  ... 还有 " + (procList.length - 5) + " 个进程");
  178.                 }
  179.             } else {
  180.                 printl("未找到进程信息");
  181.             }
  182.         }
  183.     } catch (e) {
  184.         printl("进程信息处理失败: " + e.message);
  185.     }
  186. } else {
  187.     printl("未获取到进程信息");
  188. }
  189. printl("");
  190. sleep.second(2);

  191. printl("=== 示例执行完成 ===");
复制代码







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2