Solicitud de ubicación agotada en el emulador de Android con React-Native
Estoy construyendo mi primera aplicación android con reaccionar-nativo. Lo que quiero hacer es mostrar mi ubicación actual . Pero no parece funcionar en mi emulador . En su lugar, obtengo un error de " Solicitud de ubicación agotada " en la consola. Aquí hay una muestra de código de mi archivo idex.android.js:
initGeoloc() { navigator.geolocation.getCurrentPosition( (position) => { console.log(JSON.stringify(position)); } ); } render() { this.initGeoloc(); ... some more code and the view
El código es muy simple por lo que no creo que el error viene de aquí. He añadido estos permisos en mi archivo AndroidManifest.xml (ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION):
- React Native v Formularios Xamarin - Elegir el entorno de la aplicación multiplataforma
- React Native & okhttp en Android - Establecer User-Agent
- Reaccione imágenes locales nativas con URI en Android
- React-native-tcp no funciona en Android 7+
- Activo HTML externo no incluido en React Nativo en la compilación de producción para su uso por Webview
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.myapp"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <application android:allowBackup="true" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenSize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" /> <uses-library android:name="com.google.android.maps" /> <meta-data android:name="com.google.android.geo.API_KEY" android:value="mykey"/> </application>
Yo no veo nada malo tampoco, así que creo que el problema viene del emulador de Android. Utilizo el Administrador de dispositivos virtuales de Android para crear un dispositivo virtual Nexus 5, Google API (Google Inc.) – API 23. La geolocalización está activada en el dispositivo, pero no vi ninguna herramienta de geolocalización en las herramientas o configuración del desarrollador. Así que probablemente el error viene de aquí. El dispositivo virtual no devuelve ningún lugar.
Cómo puedo arreglar esto ?
- ACCESS_FINE_LOCATION no funciona
- Reaccionar la integración nativa con el fallo de la aplicación existente: "No se puede encontrar la variable: __fbBatchedBridge"
- ¿Cuáles son mis opciones para almacenar datos al usar React Native? (IOS y Android)
- Variable Global / Constante en Reactivo Nativo
- ProcessReleaseResources
- Cambiar el nombre del paquete para Android en React Native
- Color global de "Texto" y color de texto "TextInput"
- ¿Existe una manera de pre-empaquetar la base de datos Realm (default.Realm) a través de React-Native (JS)
Set es enableHighAccuracy false, el problema será resuelto
navigator.geolocation.getCurrentPosition((position) => { console.log(position); }, error => console.error(error), { enableHighAccuracy: false, timeout: 20000, maximumAge: 1000 });
Esta pregunta se responde en este hilo. Cómo emular la ubicación GPS en el emulador de Android? Lo siento por el duplicado. Fijé mi problema usando telnet.
- ¿Cómo prevenir los incendios onNavigationItemSelected cuando se inicia la actividad?
- Aplicación de chat que utiliza Firebase: Recibe notificación cuando recibe un nuevo mensaje – Android