我需要在一个反应本地应用程序的验证IMEI。使用反应性本机imei包,下面是指向该包的链接:(https://github.com/SimenCodes/react-native-imei)。
在我的代码中,我得到以下错误:-
我的代码中的
const GetImei = () => {
const IMEI = require('react-native-imei');
IMEI.getImei().then(imeiList => {
console.log(imeiList); // prints ["AABBBBBBCCCCCCD"]
});在我的代码const IMEI = require('...react-native-imei');的第二行中,它给了我反应的'r‘之下的3个点--原生的imei,当我悬停在它上面时,它说“无法找到模块的声明文件-’react-本机-imei‘",尽管我已经安装并链接了它,我还是签了节点-模块-包仍然在那里,我也检查了settings.gradle文件--包包含在那里,那么这个错误的原因是什么呢?请帮帮我。



发布于 2021-12-16 13:18:45
检查一下这个问题。它是在图书馆里提出来的。
https://github.com/SimenCodes/react-native-imei/issues/22
如果您处于非常特殊的情况下,您也可以在最近的Android版本中使用这个库。“只是”遵循Android的规则来获得额外的许可。在2019年的讨论中有一些提示,但您应该知道,自那时起,该权限已被重命名为READ_PRECISE_PHONE_STATE。
也可以签入android文档。
https://developer.android.com/about/versions/10/privacy/changes?authuser=1#non-resettable-device-ids
发布于 2021-12-16 13:14:19
实际上,我不知道是什么导致了您的应用程序中的错误,但是我已经在您给定的库上构建了一个演示库,它运行得很好。这是我的代码:
import React from 'react'
import { StyleSheet,TouchableOpacity ,Text,View} from 'react-native'
export default class Demo extends React.Component {
constructor () {
super()
this.state = {
deviceIMEI: '',
}
}
getIMEI = () => {
const IMEI = require('react-native-imei')
this.setState({
deviceIMEI: IMEI.getImei(),
})
}
render () {
return (
<View style={styles.container}>
<Text>{this.state.deviceIMEI}</Text>
<TouchableOpacity onPress={this.getIMEI}>
<Text>Get Current Device IMEI</Text>
</TouchableOpacity>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'flex-start',
},
})https://stackoverflow.com/questions/70377596
复制相似问题