160 lines
3.9 KiB
JavaScript
160 lines
3.9 KiB
JavaScript
|
|
||
|
var WIFI_SERVICE = 'wifi';
|
||
|
var ACTIVITY_SERVICE = 'activity';
|
||
|
|
||
|
/**
|
||
|
* 获取wifi的mac地址
|
||
|
*/
|
||
|
function getMac(){
|
||
|
try{
|
||
|
var os = plus.os.name;
|
||
|
if('Android' == os){
|
||
|
var main = plus.android.runtimeMainActivity();
|
||
|
var wifiService = main.getSystemService(WIFI_SERVICE);
|
||
|
var wifiInfo = plus.android.invoke(wifiService, 'getConnectionInfo');
|
||
|
var mac = plus.android.invoke(wifiInfo, 'getMacAddress');
|
||
|
return mac;
|
||
|
}else{
|
||
|
//unsupport, nothing to do.
|
||
|
}
|
||
|
}catch(e){
|
||
|
console.error('error @getMac!!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 获取手机可用内存大小
|
||
|
* 单位为字节
|
||
|
*/
|
||
|
function getAvailMemory(){
|
||
|
try{
|
||
|
var os = plus.os.name;
|
||
|
if('Android' == os){
|
||
|
var ActivityManager = plus.android.importClass('android.app.ActivityManager');
|
||
|
var mi = new ActivityManager.MemoryInfo();
|
||
|
var activityService = plus.android.runtimeMainActivity().getSystemService(ACTIVITY_SERVICE);
|
||
|
activityService.getMemoryInfo(mi);
|
||
|
var memoryInfo = mi.plusGetAttribute('availMem');
|
||
|
return memoryInfo;
|
||
|
}else{
|
||
|
//unsupport, nothing to do.
|
||
|
}
|
||
|
}catch(e){
|
||
|
console.error('error @getAvailMemory!!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 获取手机总内存大小
|
||
|
* 单位为KB
|
||
|
*/
|
||
|
function getTotalMemory(){
|
||
|
try{
|
||
|
var os = plus.os.name;
|
||
|
if('Android' == os){
|
||
|
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 = parseInt(value);
|
||
|
}
|
||
|
}
|
||
|
return ramSize;
|
||
|
}else{
|
||
|
//unsupport, nothing to do.
|
||
|
}
|
||
|
}catch(e){
|
||
|
console.error('error @getAvailMemory!!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 获取内部存储空间大小
|
||
|
* 单位为字节
|
||
|
*/
|
||
|
function getInternalStorage(){
|
||
|
try{
|
||
|
var os = plus.os.name;
|
||
|
if('Android' == os){
|
||
|
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());
|
||
|
var internalMemSize = blockSize*blockCount;
|
||
|
return internalMemSize;
|
||
|
}else{
|
||
|
//unsupport, nothing to do.
|
||
|
}
|
||
|
}catch(e){
|
||
|
console.error('error @getCpuInfo!!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 获取CPU信息
|
||
|
*/
|
||
|
function getCpuInfo(){
|
||
|
try{
|
||
|
var os = plus.os.name;
|
||
|
if('Android' == os){
|
||
|
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;
|
||
|
}else{
|
||
|
//unsupport, nothing to do.
|
||
|
}
|
||
|
}catch(e){
|
||
|
console.error('error @getCpuInfo!!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 获取CPU核数
|
||
|
*/
|
||
|
function getCpuCount(){
|
||
|
try{
|
||
|
var os = plus.os.name;
|
||
|
if('Android' == os){
|
||
|
var Runtime = plus.android.importClass("java.lang.Runtime");
|
||
|
var cpuCount = Runtime.getRuntime().availableProcessors();
|
||
|
return cpuCount;
|
||
|
}else{
|
||
|
//unsupport, nothing to do.
|
||
|
}
|
||
|
}catch(e){
|
||
|
console.error('error @getCpuInfo!!');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
module.exports = {
|
||
|
mac: getMac,
|
||
|
availMem: getAvailMemory,
|
||
|
totalMem: getTotalMemory,
|
||
|
interStorage: getInternalStorage,
|
||
|
cpuInfo: getCpuInfo,
|
||
|
cpuCount: getCpuCount,
|
||
|
getCpuInfo
|
||
|
}
|