React Native集成react-native-device-info(获取设备信息)
一、安装
#下载依赖 npm install --save react-native-device-info #链接原生库 react-native link react-native-device-info
二、权限配置
-
编辑/android/app/src/main/AndroidManifest.xml文件加入权限信息
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
三、代码示例及效果
-
代码示例
import React, {
Component} from react;
import {
StyleSheet, Text, View} from react-native;
import DeviceInfo from react-native-device-info;
export default class App extends Component<Props> {
constructor(props) {
super(props);
}
//初始加载、获取物理硬件信息
async componentWillMount() {
await console.log(api版本:, DeviceInfo.getAPILevel());
await console.log(品牌:, DeviceInfo.getBrand());
await console.log(当前应用名称:, DeviceInfo.getApplicationName());
await console.log(应用编译版本号:, DeviceInfo.getBuildNumber());
await console.log(获取应用程序包标识符:, DeviceInfo.getBundleId());
await console.log(运营商名称:, DeviceInfo.getCarrier());
await console.log(设备所处国家:, DeviceInfo.getDeviceCountry());
await console.log(设备ID:, DeviceInfo.getDeviceId());
await console.log(设备地区:, DeviceInfo.getDeviceLocale());
await console.log(设备名称:, DeviceInfo.getDeviceName());
await console.log(获取应用初始安装时间:, DeviceInfo.getFirstInstallTime());
await console.log(设备字体大小:, DeviceInfo.getFontScale());
await console.log(剩余存储容量(字节):, DeviceInfo.getFreeDiskStorage());
await DeviceInfo.getIPAddress().then(res => {
console.log(设备当前网络地址IP:, res);
});
await console.log(应用程序实例ID:, DeviceInfo.getInstanceID());
await console.log(获取应用上次更新时间:, DeviceInfo.getLastUpdateTime());
await DeviceInfo.getMACAddress().then(res => {
console.log(网络适配器MAC地址:, res);
});
await console.log(设备制造商:, DeviceInfo.getManufacturer());
await console.log(获取JVM试图使用的最大内存量(字节):, DeviceInfo.getMaxMemory());
await console.log(获取设备模式:, DeviceInfo.getModel());
await console.log(获取电话号码:, DeviceInfo.getPhoneNumber());
await console.log(获取应用程序可读版本:, DeviceInfo.getReadableVersion());
await console.log(设备唯一序列号:, DeviceInfo.getSerialNumber());
await console.log(获取系统名称:, DeviceInfo.getSystemName());
await console.log(获取系统版本:, DeviceInfo.getSystemVersion());
await console.log(系统时区:, DeviceInfo.getTimezone());
await console.log(完整磁盘空间大小(字节):, DeviceInfo.getTotalDiskCapacity());
await console.log(设备总内存(字节):, DeviceInfo.getTotalMemory());
await console.log(设备唯一ID:, DeviceInfo.getUniqueID());
await console.log(设备用户代理:, DeviceInfo.getUserAgent());
await console.log(设备版本:, DeviceInfo.getVersion());
await console.log(用户偏好是否设置为24小时格式:, DeviceInfo.is24Hour());
await console.log(程序是否允许在模拟器中:, DeviceInfo.isEmulator());
await console.log(是否是平板电脑:, DeviceInfo.isTablet());
}
render() {
return (
<View style={
styles.container}>
<Text>
测试获取设备信息.....
</Text>
</View>
);
}
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: center,
alignItems: center,
backgroundColor: #F5FCFF,
}
});
上一篇:
IDEA上Java项目控制台中文乱码
