Android平台Native.js获取手机硬件信息完整示例

作者:阿沐

时间:2026-10-22

浏览:474

本文详细介绍如何在Android平台使用Native.js获取手机硬件基本信息,包括MAC地址、内存大小、内部存储空间、总内存及CPU信息。通过DCloud提供的plus.android接口,结合Java类调用,提供完整的代码实现与参数说明,帮助开发者快速集成硬件检测功能。

文章目录

Android平台Native.js获取手机硬件信息完整示例

本文分享一系列基于Android平台的Native.js公共方法实现代码,旨在帮助开发者获取手机硬件的基本信息,具体包括获取手机MAC地址、手机内存大小、手机内部存储空间大小以及手机CPU信息等关键硬件数据。

获取手机MAC地址

接下来介绍如何使用Native.js获取手机的MAC地址。


/*得到手机MAC地址*/
function getMac() {
 var mac = "xxx-xxx-xxx-xxx";
 if (plus.os.name == "Android") {
  //WifiManager
  var Context = plus.android.importClass("android.content.Context");
  var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");
  var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);
  var WifiInfo = plus.android.importClass("android.net.wifi.WifiInfo");
  var wifiInfo = wifiManager.getConnectionInfo();
  mac = wifiInfo.getMacAddress();
 }
 return mac;
}

获取手机内存信息

随后演示如何利用Native.js获取手机的内存信息。


/*获取手机内存信息*/
function getMemorySize() {
 var memoryInfo = '';
 if (plus.os.name == "Android") {
  var Context = plus.android.importClass("android.content.Context");
  var ActivityManager = plus.android.importClass("android.app.ActivityManager");
 var mi = new ActivityManager.MemoryInfo();
  var activityService = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);
  activityService.getMemoryInfo(mi);
  memoryInfo = mi.plusGetAttribute("availMem");
 }
 return memoryInfo;
}

获取手机内部总的存储空间

接着讲解如何通过Native.js获取手机内部总的存储空间。


/*获取手机内部总的存储空间*/
function getTotalInternalMemorySize() {
 var internalMemSize = 0;
 if (plus.os.name == "Android") {
  var environment = plus.android.importClass("android.os.Environment");
  var statFs = plus.android.importClass("android.os.StatFs");
  var files = plus.android.importClass("java.io.File");

  var Files = environment.getDataDirectory();
  var StatFs = new statFs(Files.getPath());
  var blockSize = parseFloat(StatFs.getBlockSize());
  var blockCount = parseFloat(StatFs.getBlockCount());
  internalMemSize = blockSize * blockCount;
 }
 return internalMemSize;
}

获取手机总内存

然后说明如何使用Native.js获取手机的总内存大小。


/*获取总内存*/
function getTotalRamSize() {
 var memInfo = '/proc/meminfo';
 var temp = '',
  ramSize = '',
  arrays, initMemory;
 var fileReader = plus.android.importClass("java.io.FileReader");
 var bufferedReader = plus.android.importClass("java.io.BufferedReader");
 var FileReader = new fileReader(memInfo);
 var BufferedReader = new bufferedReader(FileReader, 8192);
 while ((temp = BufferedReader.readLine()) != null) {
  if (-1 != temp.indexOf('MemTotal:')) {
   var value = temp.replace(/[^0-9]/ig, "");
   ramSize = Math.floor(parseInt(value) / (1024));
  }
 }

 return ramSize;
}

获取手机CPU信息

之后介绍如何借助Native.js获取手机的CPU详细信息。


/*获取手机CPU信息*/
function getCpuInfo() {
 var cpuInfo = '/proc/cpuinfo';
 var temp = '',
  cpuHardware;
 var fileReader = plus.android.importClass("java.io.FileReader");
 var bufferedReader = plus.android.importClass("java.io.BufferedReader");
 var FileReader = new fileReader(cpuInfo);
 var BufferedReader = new bufferedReader(FileReader, 8192);
 while ((temp = BufferedReader.readLine()) != null) {
  if (-1 != temp.indexOf('Hardware')) {
   cpuHardware = temp.substr(parseInt(temp.indexOf(":")) + 1);
  }
 }
 return cpuHardware;
}

获取CPU核数

进一步展示如何使用Native.js获取CPU的核数。


/*获取CPU核数*/
function getCpuCount() {
 var Runtime = plus.android.importClass("java.lang.Runtime");
 var cpuCount = Runtime.getRuntime().availableProcessors();
 return cpuCount;
}

获取安卓设备的ANDROID_ID

此外,还可以使用Native.js获取安卓设备的ANDROID_ID。


var mainActivity = plus.android.runtimeMainActivity();
  var Settings= plus.android.importClass("android.provider.Settings");
  console.log(Settings.Secure.getString(mainActivity.getContentResolver(),Settings.Secure.ANDROID_ID));

Dcloud的Native.js支持的API详细介绍与说明

最后,附上Dcloud官方关于Native.js支持的API详细介绍与说明文档,供开发者参考。

更多Native.js相关API文档可访问:www.dcloud.io/docs/api/index.html

如需获取更多关于Native.js获取手机硬件基本信息实例代码的内容,请查看下方相关链接。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章