Comments (1)
I fixed this issue by changing "AutomaticLocationWorker" to "AutomaticLocationBackgroundService:LifecycleService()" or change worker to lifecycleService.
private var fusedLocationProviderClient: FusedLocationProviderClient? = null
private val locationUpdatePendingIntent: PendingIntent by lazy {
val intent = Intent(this, LocationUpdatesBroadcastReceiver::class.java)
intent.action = LocationUpdatesBroadcastReceiver.ACTION_PROCESS_UPDATES
PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_MUTABLE)
}
fusedLocationProviderClient?.requestLocationUpdates(
mLocationRequest,
locationUpdatePendingIntent
)
LocationUpdatesBroadcastReceiver
class LocationUpdatesBroadcastReceiver: BroadcastReceiver() {
private val TAG = "LocationUpdatesBroadcas";
override fun onReceive(context: Context?, intent: Intent?) {
Log.d(TAG, "onReceive() context:$context, intent:$intent")
if (intent?.action == ACTION_PROCESS_UPDATES) {
// Checks for location availability changes.
LocationAvailability.extractLocationAvailability(intent)?.let { locationAvailability ->
if (!locationAvailability.isLocationAvailable) {
Log.d(TAG, "Location services are no longer available!")
}
}
LocationResult.extractResult(intent)?.let { locationResult ->
Log.e(TAG, "onReceive: lastLocation ${locationResult.locations.size}", )
if(locationResult.lastLocation != null){
ShareLocationToAutomaticWorker.INSTANCE?.reciveLocation(locationResult.lastLocation!!)
}
}
}
}
companion object {
const val ACTION_PROCESS_UPDATES =
"com.commuteoptm.bcos.background_services.action." +
"PROCESS_UPDATES"
}
interface UpdatedLocation{
fun onLocationUpdate(location: Location)
}
}
ShareLocationToAutomaticWorker
class ShareLocationToAutomaticWorker(var updateLocation: LocationUpdatesBroadcastReceiver.UpdatedLocation){
private val TAG = "LocationUpdatesBroadcas"
fun reciveLocation( location:Location){
Log.e(TAG, "reciveLocation:--- ${location} " )
updateLocation.onLocationUpdate(location)
}
companion object {
var INSTANCE: ShareLocationToAutomaticWorker? = null
fun getInstance(updateLocation: LocationUpdatesBroadcastReceiver.UpdatedLocation): ShareLocationToAutomaticWorker {
return INSTANCE ?: synchronized(this) {
INSTANCE ?: ShareLocationToAutomaticWorker(
updateLocation )
.also { INSTANCE = it }
}
}
}
}
from location-samples.
Related Issues (20)
- Geofencing trigger does not work in Doze state
- Traceback (most recent call last): File "/home/marijn/Android/Sdk/ndk/25.1.8937393/prebuilt/linux-x86_64/bin/ndk-gdb.py", line 951, in <module> main() File "/home/marijn/Android/Sdk/ndk/25.1.8937393/prebuilt/linux-x86_64/bin/ndk-gdb.py", line 882, in main device.shell_nocheck(["run-as", pkg_name, "kill", "-9"] + kill_pids)TypeError: can only concatenate list (not "map") to listThis -gdb.py-gdb.pyis another Python 2 -> Python 3 conversion problem just like #1763: HOT 1
- Data Read
- Root Check
- Api
- Export note
- Spotlight
- Geocode for java HOT 1
- Update to Compose October '22
- Location Updates in the Background no updates are receiving in LocationUpdatesBroadcastReceiver HOT 2
- Sexroom2022 HOT 1
- LocationUpdatesForegroundService/app/src/main/java/com/google/android/gms/location/sample/locationupdatesforegroundservice/LocationUpdatesService.java
- Backgorund service sample is not working HOT 2
- SleepSampleKotlin doesn't work on Wear OS 3
- OS 13 - Not fetching location in background - Location Updates from Background HOT 2
- LocationUpdatesBackgroundKotlin: Got an exception: java.lang.IllegalArgumentException: com.google.android.gms.location.sample.locationupdatesbackgroundkotlin: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. HOT 1
- Update background location sample to use workmanager
- PendingIntent.FLAG_CANCEL_CURRENT is not giving proper output on API version 31 or higher in Google Sleep API.
- How can I reduce power usage and still GET location updates in a location-based Android application?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from location-samples.