deviceinfo.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. var WIFI_SERVICE = 'wifi';
  2. var ACTIVITY_SERVICE = 'activity';
  3. /**
  4. * 获取wifi的mac地址
  5. */
  6. function getMac(){
  7. try{
  8. var os = plus.os.name;
  9. if('Android' == os){
  10. var main = plus.android.runtimeMainActivity();
  11. var wifiService = main.getSystemService(WIFI_SERVICE);
  12. var wifiInfo = plus.android.invoke(wifiService, 'getConnectionInfo');
  13. var mac = plus.android.invoke(wifiInfo, 'getMacAddress');
  14. return mac;
  15. }else{
  16. //unsupport, nothing to do.
  17. }
  18. }catch(e){
  19. console.error('error @getMac!!');
  20. }
  21. }
  22. /**
  23. * 获取手机可用内存大小
  24. * 单位为字节
  25. */
  26. function getAvailMemory(){
  27. try{
  28. var os = plus.os.name;
  29. if('Android' == os){
  30. var ActivityManager = plus.android.importClass('android.app.ActivityManager');
  31. var mi = new ActivityManager.MemoryInfo();
  32. var activityService = plus.android.runtimeMainActivity().getSystemService(ACTIVITY_SERVICE);
  33. activityService.getMemoryInfo(mi);
  34. var memoryInfo = mi.plusGetAttribute('availMem');
  35. return memoryInfo;
  36. }else{
  37. //unsupport, nothing to do.
  38. }
  39. }catch(e){
  40. console.error('error @getAvailMemory!!');
  41. }
  42. }
  43. /**
  44. * 获取手机总内存大小
  45. * 单位为KB
  46. */
  47. function getTotalMemory(){
  48. try{
  49. var os = plus.os.name;
  50. if('Android' == os){
  51. var memInfo = '/proc/meminfo';
  52. var temp = '',
  53. ramSize = '',
  54. arrays, initMemory;
  55. var fileReader = plus.android.importClass("java.io.FileReader");
  56. var bufferedReader = plus.android.importClass("java.io.BufferedReader");
  57. var FileReader = new fileReader(memInfo);
  58. var BufferedReader = new bufferedReader(FileReader, 8192);
  59. while ((temp = BufferedReader.readLine()) != null) {
  60. if (-1 != temp.indexOf('MemTotal:')) {
  61. var value = temp.replace(/[^0-9]/ig, "");
  62. ramSize = parseInt(value);
  63. }
  64. }
  65. return ramSize;
  66. }else{
  67. //unsupport, nothing to do.
  68. }
  69. }catch(e){
  70. console.error('error @getAvailMemory!!');
  71. }
  72. }
  73. /**
  74. * 获取内部存储空间大小
  75. * 单位为字节
  76. */
  77. function getInternalStorage(){
  78. try{
  79. var os = plus.os.name;
  80. if('Android' == os){
  81. var environment = plus.android.importClass('android.os.Environment');
  82. var statFs = plus.android.importClass('android.os.StatFs');
  83. var files = plus.android.importClass('java.io.File');
  84. var Files = environment.getDataDirectory();
  85. var StatFs = new statFs(Files.getPath());
  86. var blockSize = parseFloat(StatFs.getBlockSize());
  87. var blockCount = parseFloat(StatFs.getBlockCount());
  88. var internalMemSize = blockSize*blockCount;
  89. return internalMemSize;
  90. }else{
  91. //unsupport, nothing to do.
  92. }
  93. }catch(e){
  94. console.error('error @getCpuInfo!!');
  95. }
  96. }
  97. /**
  98. * 获取CPU信息
  99. */
  100. function getCpuInfo(){
  101. try{
  102. var os = plus.os.name;
  103. if('Android' == os){
  104. var cpuInfo = '/proc/cpuinfo';
  105. var temp = '',
  106. cpuHardware;
  107. var fileReader = plus.android.importClass('java.io.FileReader');
  108. var bufferedReader = plus.android.importClass('java.io.BufferedReader');
  109. var FileReader = new fileReader(cpuInfo);
  110. var BufferedReader = new bufferedReader(FileReader, 8192);
  111. while ((temp = BufferedReader.readLine()) != null) {
  112. if (-1 != temp.indexOf('Hardware')) {
  113. cpuHardware = temp.substr(parseInt(temp.indexOf(":")) + 1);
  114. }
  115. }
  116. return cpuHardware;
  117. }else{
  118. //unsupport, nothing to do.
  119. }
  120. }catch(e){
  121. console.error('error @getCpuInfo!!');
  122. }
  123. }
  124. /**
  125. * 获取CPU核数
  126. */
  127. function getCpuCount(){
  128. try{
  129. var os = plus.os.name;
  130. if('Android' == os){
  131. var Runtime = plus.android.importClass("java.lang.Runtime");
  132. var cpuCount = Runtime.getRuntime().availableProcessors();
  133. return cpuCount;
  134. }else{
  135. //unsupport, nothing to do.
  136. }
  137. }catch(e){
  138. console.error('error @getCpuInfo!!');
  139. }
  140. }
  141. module.exports = {
  142. mac: getMac,
  143. availMem: getAvailMemory,
  144. totalMem: getTotalMemory,
  145. interStorage: getInternalStorage,
  146. cpuInfo: getCpuInfo,
  147. cpuCount: getCpuCount
  148. }