react-native移动端如何获取设备信息

这次介绍的获取移动设备信息的组件名叫:react-native-device-info,兼容IOS和安卓双平台,可以获取设备ID、设备品牌、设备型号、IP以及APP版本号等信息。是一个应用很广泛的基础组件。

亲测可用,已在双端真机上测试,均能获取到设备信息!

安装

npm install --save react-native-device-info


注:如果React Naitve的版本大于0.47,那么需要使用>=0.11版本的react-native-device-info组件

因为涉及到原生代码,所以在执行完install后,需要执行link命令

react-native link react-native-device-info

PS: 注意⚠️使用link命令链接原生库后,可能需要重新下载node_modules包,否则可能出现报错现象!亲测报错并解决

项目跑起来后,在真机上红屏了,报错如下,这个错误在没有link之前,是不存在的: 

跑起来后的真机效果(正常运行): 

 

1.使用React-native link的背景
并不是所有的 APP 都需要使用全部的原生功能,包含支持全部特性的代码会增大应用的体积。但我们仍然希望能让你简单地根据自己的需求添加需要的特性。
在这种思想下,我们把许多特性都发布成为互不相关的静态库。
大部分的库只需要拖进两个文件就可以使用了,偶尔你还需要几步额外的工作,但不会再有更多的事情要做了。
我们随着 React Native 发布的所有库都在仓库中的Libraries文件夹下。其中有一些是纯 Javascript 代码,你只需要去import它们就可以使用了。另外有一些库基于一些原生代码实现,你必须把这些文件添加到你的应用,否则应用会在你使用这些库的时候产生报错。

2.具体使用React-native link的步骤:
(1)下载某个库到本地

npm install ******


(2)链接某个库到项目中

react-native link *****


(3)到此就成功的链接到ios和android项目中了

使用示例

  import DeviceInfo from 'react-native-device-info';

  const device = {};
  device.DeviceID = DeviceInfo.getUniqueID();
  device.UserAgent = DeviceInfo.getUserAgent();
  device.DeviceBrand = DeviceInfo.getBrand();
  device.DeviceModel = DeviceInfo.getModel();
  device.SystemVersion = DeviceInfo.getSystemVersion();
  device.AppVersion = DeviceInfo.getVersion();
  device.AppReadableVersion = DeviceInfo.getReadableVersion();

该组件使用也很方便,直接import后,直接调用相应的方法即可。但是有一个方法比较特殊就是isPinOrFingerprintSet方法,需要使用异步的方式来调。代码如下:

import DeviceInfo from 'react-native-device-info';

DeviceInfo.isPinOrFingerprintSet()(isPinOrFingerprintSet => {
  if (!isPinOrFingerprintSet) {
    ...
  }
}


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hzxOnlineOk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值