Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ionic with Android Emulator: Automatically send location?

I'm having an issue with my android emulator. When I close and re-open my app, the location is not sent automatically. I have to go into Extended Controls -> Location and click the 'Send' button for the Ionic Geolocation getCurrentPosition function to receive it.

When I boot up the android emulator and the app opens for the first time, this is not necessary. Any idea how to send the location automatically no matter what?

like image 644
Alex Palacios Avatar asked Oct 03 '17 20:10

Alex Palacios


1 Answers

Generally for the Testing of Plugins we need to verify in the real device, but as your original question about using it in Emulators, for this to work out ,

  1. Try to clear the cordova Cache ( if you are using Visual Studio , you can do it like Tools->Options )

  2. Try to add watchPosition function with enableHighAccuracy : true

navigator.geolocation.watchPosition(onSuccess, onError, { 
    timeout:40000,
    enableHighAccuracy: true 
});

Update :

After a quick googling , found this link , It states that :

Starting with Chrome 50, Chrome no longer supports obtaining the user's location using the HTML5 Geolocation API from pages delivered by non-secure connections. This means that the page that's making the Geolocation API call must be served from a secure context such as HTTPS.

A possible solution can be like :

By adding appropriate permissions on Android platform, open your project, search for AndroidManifest.xml and add these lines:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

For more Info Read this article and this thread

like image 115
Tummala Krishna Kishore Avatar answered Oct 17 '22 15:10

Tummala Krishna Kishore