Greetings,
I'm using the GNSS library and would like to know how to prevent it from turning off the GPS when exiting my app or pressing the phone home button. We need to make sure the GPS stays on even if the app is not showing on the screen. All of the GPS coding is in the Starter module because Starter does not get killed by Android.
I do have coding that stops the GPS only in the Starter module but there isn't any coding yet that calls that sub routine.
By the way, if I use the GPS library instead of the GNSS library the GPS also turns off when I exit the app. I'd rather use GNSS instead though. I think I will also try a 1 second timer and keep turning on the GPS to see what happens.
Thanks.
Here's the coding in my Starter service.
I'm using the GNSS library and would like to know how to prevent it from turning off the GPS when exiting my app or pressing the phone home button. We need to make sure the GPS stays on even if the app is not showing on the screen. All of the GPS coding is in the Starter module because Starter does not get killed by Android.
I do have coding that stops the GPS only in the Starter module but there isn't any coding yet that calls that sub routine.
By the way, if I use the GPS library instead of the GNSS library the GPS also turns off when I exit the app. I'd rather use GNSS instead though. I think I will also try a 1 second timer and keep turning on the GPS to see what happens.
Thanks.
Here's the coding in my Starter service.
Starter Module:
#Region Service Attributes
#StartAtBoot: False
#ExcludeFromLibrary: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim kvs As KeyValueStore
Dim rp As RuntimePermissions
Dim GPS1 As GNSS
Private gpsStarted As Boolean
Private strShared As String
End Sub
Sub Service_Create
'This is the program entry point.
'This is a good place to load resources that are not specific to a single activity.
InitializeObjects
SetupTheSettingsDatabase
End Sub
Sub Service_Start (StartingIntent As Intent)
End Sub
Sub Service_TaskRemoved
'This event will be raised when the user removes the app from the recent apps list.
End Sub
'Return true to allow the OS default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Return True
End Sub
Sub Service_Destroy
End Sub
' GPS sub routines.
'------------------
Sub StartGps
If IsPaused(Main) = False Then
' It means the user is on the main screen so display "Please Wait".
'------------------------------------------------------------------
CallSub(Main, "PleaseWait")
End If
If gpsStarted = False Then
GPS1.Start(0, 0)
gpsStarted = True
End If
End Sub
Sub StopGps
Log("at stopgps")
If IsPaused(Main) = False Then
' It means the user is on the main screen so remove "Please Wait" message.
'-------------------------------------------------------------------------
CallSub(Main, "PleaseWaitOff")
End If
If gpsStarted Then
GPS1.Stop
gpsStarted = False
End If
End Sub
Sub GPS_LocationChanged (Location1 As Location)
CallSub(Main, "PleaseWaitOff")
End Sub
' Additional sub routines.
'-------------------------
Sub InitializeObjects
GPS1.Initialize("GPS")
End Sub
Sub SetupTheSettingsDatabase
strShared = rp.GetSafeDirDefaultExternal("Settings")
kvs.Initialize(strShared, "Settings")
' kvs.DeleteAll
If kvs.ContainsKey("AutoResponderMode") = False Then
kvs.Put("AutoResponderMode", "Active")
End If
' Flags.
'-------
If kvs.ContainsKey("BlockTexts") = False Then
kvs.Put("BlockTexts", False)
End If
If kvs.ContainsKey("BlockAllTexts") = False Then
kvs.Put("BlockAllTexts", False)
End If
If kvs.ContainsKey("BlockAllTextsWhenVehicleMoves") = False Then
kvs.Put("BlockAllTextsWhenVehicleMoves", True)
End If
If kvs.ContainsKey("BlockCalls") = False Then
kvs.Put("BlockCalls", False)
End If
If kvs.ContainsKey("BlockAllCalls") = False Then
kvs.Put("BlockAllCalls", False)
End If
If kvs.ContainsKey("BlockAllCallsWhenVehicleMoves") = False Then
kvs.Put("BlockAllCallsWhenVehicleMoves", True)
End If
End Sub
Last edited: