RN-Hardware-Info
For Android
Installation
Mostly automatic installation(autolinking from RN 0.60 and later versions)
$ react-native link rn-hardware-info
How to use
import RnHardwareInfo from 'rn-hardware-info';
Check and Request Permissions:
Wifi Usage Permission:
MainView.checkWifiUsagePermission((permsn_cb) => {
#TODO
})
Getting Data
RnHardwareInfo.getDeviceCpuFreqNow((cpu_cb) => {
#TODO
})
RnHardwareInfo.getDeviceMemInfo((ram_cb) => {
#TODO
})
RnHardwareInfo.getBatteryTemperature((temp_cb) => {
#TODO
})
RnHardwareInfo.getNetworkStats((down_cb, up_cb) => {
#TODO
})
For IOS
Installation
-
Add the following dependency to package.json:
"rn-hardware-info": "TobyX-Corp/RN-Hardware-Info#master"
-
Run npm install
in the project directory
-
Run pod install
in the ios directory
Mostly automatic installation(autolinking from RN 0.60)
$ react-native link rn-hardware-info
How to use
RnHardwareInfo.getAppUsage((error, usage) => {
if (error) {
console.log(error);
} else {
console.log(usage.cpu_usage);
console.log(usage.memory_usage);
console.log(usage.download_speed);
console.log(usage.upload_speed);
}
});
Example
import React, {useState, useEffect} from 'react';
import RnHardwareInfo from 'rn-hardware-info';
const DeviceInfo = () => {
const [cpu, setCpu] = useState('0');
useEffect(() => {
const interval = setInterval(() => {
if (RnHardwareInfo != null) {
RnHardwareInfo.getAppUsage((error, usage) => {
if (error) {
console.log(error);
} else {
console.log('get app usage');
console.log(usage);
setCpu(usage.cpu_usage);
}
});
}
}, 1000);
return () => clearInterval(interval);
}, []);
return (
<View style={styles.container}>
<Text> CPU Usage: {cpu}%</Text>
</View>
);
};