I can't get location services when my app is running in the background but it works on an emulator. Can anyone help about this problem?
import Geolocation from 'react-native-geolocation-service';
import BackgroundService from 'react-native-background-actions';
const options = {
taskName: 'Example',
taskTitle: 'ExampleTask title',
taskDesc: 'ExampleTask description',
taskIcon: {
name: 'ic_launcher',
type: 'mipmap',
},
color: '#ff00ff',
linkingURI: 'yourSchemeHere://chat/jane',
parameters: {
delay:6000,
},
};
const connectSocket = () => {
const sleep = (time) => new Promise((resolve) => setTimeout(() => resolve(), time));
const client = new WebSocket(`ws://${ip}:${port}`,'echo-protocol')
const sendData = (data) => {
if(client.readyState === client.OPEN){
client.send(JSON.stringify(data))
}
}
const coordianates = async(taskDataArguments) =>{
const { delay } = taskDataArguments;
await new Promise( async (resolve) => {
for (let i = 0; BackgroundService.isRunning(); i++) {
await BackgroundService.updateNotification({ taskDesc: 'Runned -> ' + i });
Geolocation.getCurrentPosition(
(position) => {
sendData(position)
},
(error) => {
console.log(error.code, error.message);
},
{ enableHighAccuracy: true, timeout: 15000, maximumAge: 10000 }
);
await sleep(delay);
}
});
}
client.onopen = async(err)=> {
await BackgroundService.start(coordianates, options);
}
}