Necesito IMEI para la validación en una aplicación React Native. Usando el paquete reactivo-nativo-imei, aquí está el enlace a ese paquete: ( https://github.com/SimenCodes/react-native-imei ).
durante mi código recibo los siguientes errores: -
const GetImei = () => { const IMEI = require('react-native-imei'); IMEI.getImei().then(imeiList => { console.log(imeiList); // prints ["AABBBBBBCCCCCCD"] }); En la segunda línea de mi código const IMEI = require('...react-native-imei'); Me da esos 3 puntos debajo de 'r' de react-native-imei y cuando paso el mouse sobre él, dice "no se pudo encontrar el archivo de declaración para el módulo-'react-native-imei'", aunque he instalado el paquete y también lo vinculé, también verifiqué En el módulo de nodo, el paquete todavía está allí, también verifiqué el archivo settings.gradle, el paquete está incluido allí, entonces, ¿cuál podría ser el motivo de este error? por favor, ayúdame.
verifique este problema. Se levanta en la biblioteca.
https://github.com/SimenCodes/react-native-imei/issues/22
Si te encuentras en una situación muy particular, también puedes usar esta biblioteca en versiones recientes de Android. "Simplemente" siga las reglas de Android para obtener el permiso adicional. Hay algunas pistas en la discusión de 2019, pero debe saber que el permiso ha cambiado de nombre a READ_PRECISE_PHONE_STATE desde entonces.
consulte la documentación de Android también.
https://developer.android.com/about/versions/10/privacy/changes?authuser=1#non-resettable-device-ids
En realidad, no sé qué causó exactamente el error en su aplicación, pero he creado una base de demostración en su biblioteca dada y funciona bien. Aquí está mi código:
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', }, })