注册 登录
发贴工具
查看: 2|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] AIWROK软件device相关方法获取设备信息例子

[复制链接]

2435

主题

2483

帖子

1万

积分

积分
14814
跳转到指定楼层
楼主


AIWROK软件device相关方法获取设备信息例子



  1. /**
  2. * 设备信息获取示例
  3. * //🍎交流QQ群711841924群一,苹果内测群,528816639
  4. * 本示例展示了如何使用AIWork IDE提供的device相关方法获取设备信息
  5. * 注意:某些方法可能在不同设备或系统版本上不可用,需要做好异常处理
  6. */

  7. // 安全调用函数,防止方法不存在时报错
  8. function safeCall(methodName, caller, args) {
  9.     try {
  10.         if (typeof caller[methodName] === 'function') {
  11.             if (args) {
  12.                 return caller[methodName](args);
  13.             } else {
  14.                 return caller[methodName]();
  15.             }
  16.         } else {
  17.             return "方法不可用";
  18.         }
  19.     } catch (e) {
  20.         return "调用出错: " + e.message;
  21.     }
  22. }

  23. // 打印设备信息的函数
  24. function printDeviceInfo() {
  25.     printl("================== 设备信息 ==================");
  26.    
  27.     // 获取设备ID(字符串形式)
  28.     var deviceID = safeCall("getDeviceID", device);
  29.     printl("设备ID: " + deviceID);
  30.    
  31.     // 获取设备ID(整数形式)
  32.     var deviceIntID = safeCall("getDeviceIntID", device);
  33.     printl("设备整数ID: " + deviceIntID);
  34.    
  35.     // 获取IMEI
  36.     var imei = safeCall("getIMEI", device);
  37.     printl("IMEI: " + imei);
  38.    
  39.     // 获取IP地址
  40.     var ip = safeCall("getIP", device);
  41.     printl("IP地址: " + ip);
  42.    
  43.     // 获取OAID
  44.     var oaid = safeCall("getOAID", device);
  45.     printl("OAID: " + oaid);
  46.    
  47.     // 获取系统版本
  48.     var version = safeCall("getVersion", device);
  49.     printl("系统版本: " + version);
  50.    
  51.     // 获取设备型号
  52.     var model = safeCall("getModel", device);
  53.     printl("设备型号: " + model);
  54.    
  55.     // 获取设备品牌
  56.     var brand = safeCall("getBrand", device);
  57.     printl("设备品牌: " + brand);
  58.    
  59.     printl("=============================================");
  60. }

  61. // 显示设备屏幕信息
  62. function printScreenInfo() {
  63.     printl("================= 屏幕信息 =================");
  64.    
  65.     try {
  66.         // 尝试多种方式获取屏幕分辨率
  67.         var width, height;
  68.         
  69.         // 方式1: 尝试使用screen对象获取屏幕信息
  70.         if (typeof screen !== 'undefined') {
  71.             if (typeof screen.getScreenWidth === 'function') {
  72.                 width = screen.getScreenWidth();
  73.             }
  74.             if (typeof screen.getScreenHeight === 'function') {
  75.                 height = screen.getScreenHeight();
  76.             }
  77.         }
  78.         
  79.         // 方式2: 如果screen对象不可用,尝试其他方式
  80.         if ((!width || !height) && typeof device !== 'undefined') {
  81.             if (typeof device.getScreenWidth === 'function') {
  82.                 width = device.getScreenWidth();
  83.             }
  84.             if (typeof device.getScreenHeight === 'function') {
  85.                 height = device.getScreenHeight();
  86.             }
  87.         }
  88.         
  89.         if (width && height) {
  90.             printl("屏幕分辨率: " + width + " x " + height);
  91.         } else {
  92.             printl("屏幕分辨率: 无法获取");
  93.         }
  94.     } catch (e) {
  95.         printl("屏幕分辨率: 获取失败 (" + e.message + ")");
  96.     }
  97.    
  98.     printl("=============================================");
  99. }

  100. // 显示电池信息
  101. function printBatteryInfo() {
  102.     printl("================= 电池信息 =================");
  103.    
  104.     try {
  105.         var batteryLevel = "无法获取";
  106.         
  107.         // 尝试获取电池电量
  108.         if (typeof device !== 'undefined') {
  109.             if (typeof device.getBatteryLevel === 'function') {
  110.                 batteryLevel = device.getBatteryLevel();
  111.                 // 检查返回值是否有效
  112.                 if (batteryLevel === null || batteryLevel === undefined) {
  113.                     batteryLevel = "无法获取";
  114.                 }
  115.             }
  116.         }
  117.         
  118.         printl("电池电量: " + batteryLevel + "%");
  119.     } catch (e) {
  120.         printl("电池信息: 获取失败 (" + e.message + ")");
  121.     }
  122.    
  123.     printl("=============================================");
  124. }

  125. // 显示存储信息
  126. function printStorageInfo() {
  127.     printl("================= 存储信息 =================");
  128.    
  129.     try {
  130.         // 尝试使用file对象获取存储信息
  131.         if (typeof file !== 'undefined') {
  132.             var hasValidMethod = false;
  133.             
  134.             // 获取SD卡可用空间
  135.             if (typeof file.getFreeSpace === 'function') {
  136.                 try {
  137.                     var freeSpace = file.getFreeSpace('/sdcard/');
  138.                     if (freeSpace && freeSpace > 0) {
  139.                         // 转换为MB显示
  140.                         var freeSpaceMB = Math.round(freeSpace / (1024 * 1024));
  141.                         printl("SD卡可用空间: " + freeSpaceMB + " MB");
  142.                         hasValidMethod = true;
  143.                     }
  144.                 } catch (e) {
  145.                     // 忽略单个方法的错误
  146.                 }
  147.             }
  148.             
  149.             // 获取SD卡总空间
  150.             if (typeof file.getTotalSpace === 'function') {
  151.                 try {
  152.                     var totalSpace = file.getTotalSpace('/sdcard/');
  153.                     if (totalSpace && totalSpace > 0) {
  154.                         // 转换为MB显示
  155.                         var totalSpaceMB = Math.round(totalSpace / (1024 * 1024));
  156.                         printl("SD卡总空间: " + totalSpaceMB + " MB");
  157.                         hasValidMethod = true;
  158.                     }
  159.                 } catch (e) {
  160.                     // 忽略单个方法的错误
  161.                 }
  162.             }
  163.             
  164.             if (!hasValidMethod) {
  165.                 printl("存储信息: 无法获取有效的存储信息");
  166.             }
  167.         } else {
  168.             printl("存储信息: file对象不可用");
  169.         }
  170.     } catch (e) {
  171.         printl("存储信息: 获取失败 (" + e.message + ")");
  172.     }
  173.    
  174.     printl("=============================================");
  175. }

  176. // 显示内存信息
  177. function printMemoryInfo() {
  178.     printl("================= 内存信息 =================");
  179.    
  180.     try {
  181.         var memoryInfo = "无法获取";
  182.         var memoryPercent = "无法获取";
  183.         
  184.         // 尝试获取内存信息
  185.         if (typeof app !== 'undefined') {
  186.             if (typeof app.getMemory === 'function') {
  187.                 memoryInfo = app.getMemory();
  188.             }
  189.             
  190.             if (typeof app.getMemoryPercent === 'function') {
  191.                 memoryPercent = app.getMemoryPercent();
  192.             }
  193.         }
  194.         
  195.         // 解析内存信息(如果是JSON格式)
  196.         if (typeof memoryInfo === "string" && memoryInfo.indexOf("{") === 0) {
  197.             try {
  198.                 var memObj = JSON.parse(memoryInfo);
  199.                 printl("总内存: " + memObj.Total + " MB");
  200.                 printl("可用内存: " + memObj.Available + " MB");
  201.                 printl("已用内存: " + memObj.Used + " MB");
  202.                 printl("应用内存: " + memObj.app + " MB");
  203.             } catch (parseError) {
  204.                 printl("内存信息: " + memoryInfo);
  205.             }
  206.         } else {
  207.             printl("内存信息: " + memoryInfo);
  208.         }
  209.         
  210.         printl("内存使用率: " + memoryPercent + "%");
  211.     } catch (e) {
  212.         printl("内存信息: 获取失败 (" + e.message + ")");
  213.     }
  214.    
  215.     printl("=============================================");
  216. }

  217. // 显示当前运行应用信息
  218. function printRunningAppInfo() {
  219.     printl("================= 应用信息 =================");
  220.    
  221.     try {
  222.         // 获取当前顶端应用包名
  223.         if (typeof app !== 'undefined') {
  224.             if (typeof app.getTopPackName === 'function') {
  225.                 var topPackageName = app.getTopPackName();
  226.                 if (topPackageName) {
  227.                     printl("当前应用包名: " + topPackageName);
  228.                     
  229.                     // 尝试获取应用名称
  230.                     if (typeof app.getAppName === 'function') {
  231.                         var appName = app.getAppName(topPackageName);
  232.                         if (appName) {
  233.                             printl("当前应用名称: " + appName);
  234.                         }
  235.                     }
  236.                 } else {
  237.                     printl("当前应用包名: 无法获取");
  238.                 }
  239.             } else {
  240.                 printl("获取应用信息: getTopPackName方法不可用");
  241.             }
  242.         } else {
  243.             printl("获取应用信息: app对象不可用");
  244.         }
  245.     } catch (e) {
  246.         printl("获取应用信息失败: " + e.message);
  247.     }
  248.    
  249.     printl("=============================================");
  250. }

  251. // 显示网络信息
  252. function printNetworkInfo() {
  253.     printl("================= 网络信息 =================");
  254.    
  255.     try {
  256.         var hasNetworkInfo = false;
  257.         
  258.         // 获取WiFi信息
  259.         if (typeof wifi !== 'undefined') {
  260.             if (typeof wifi.isWifiEnabled === 'function') {
  261.                 var isWifiEnabled = wifi.isWifiEnabled();
  262.                 printl("WiFi状态: " + (isWifiEnabled ? "已启用" : "已禁用"));
  263.                 hasNetworkInfo = true;
  264.             }
  265.             
  266.             // 获取WiFi名称
  267.             if (typeof wifi.getWifiName === 'function') {
  268.                 var wifiName = wifi.getWifiName();
  269.                 if (wifiName) {
  270.                     printl("WiFi名称: " + wifiName);
  271.                     hasNetworkInfo = true;
  272.                 }
  273.             }
  274.         }
  275.         
  276.         
  277.         // 如果没有任何网络信息可用
  278.         if (!hasNetworkInfo) {
  279.             printl("网络信息: 无法获取有效的网络信息");
  280.         }
  281.     } catch (e) {
  282.         printl("网络信息: 获取失败 (" + e.message + ")");
  283.     }
  284.    
  285.     printl("=============================================");
  286. }

  287. // 主函数
  288. function main() {
  289.     printl("设备信息获取示例开始执行...");
  290.    
  291.     // 打印设备基本信息
  292.     printDeviceInfo();
  293.    
  294.     // 打印屏幕信息
  295.     printScreenInfo();
  296.    
  297.     // 打印电池信息
  298.     printBatteryInfo();
  299.    
  300.     // 打印存储信息
  301.     printStorageInfo();
  302.    
  303.     // 打印内存信息
  304.     printMemoryInfo();
  305.    
  306.     // 打印当前运行应用信息
  307.     printRunningAppInfo();
  308.    
  309.     // 打印网络信息
  310.     printNetworkInfo();
  311.    
  312.     printl("设备信息获取示例执行完毕。");
  313. }

  314. // 执行主函数
  315. main();
复制代码



unto数据库MySQL实时内容随机调用nextnocontent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖