I currently use the Firebase JobDipatcher to perform a periodic task in the background. The problem is the background service only gets executed when battery optimization is disabled and standby state of the app is manually set to ACTIVE under developer options. Is there a way to do the background task without manually changing all this, because i cannot ask every user of the app to do so. And saw many posts that google will suspend the app if the power management permissions are requested within the app. Any help would be much appreciated.
How to perform background service while battery optimization is active
3.8k views Asked by Noyal Jose At
1
There are 1 answers
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in ALARMMANAGER
- Flutter alarm_android_manager_plus not showing my notification?
- Why do we need to pass PendingIntent to both AlarmClockInfo and setAlarmClock()?
- Requesting permissions for schedule exact alarms and send notifications in Android 14
- OnePlus Watch 2 force stop my application when screen turns of and it cancels all scheduled alarms
- Getting Scheduled Alarms from Default Alarm Clock App (specifically Clock on Android)
- App crashes while trying to run AlarmManager and PendingIntent
- How to read "adb shell dumpsys alarm" output - Android 13
- Set a background alarm for the near future Android
- Embarcadero and Delphi on Android: Using AlarmManager
- SetAlarmClock() on Xiaomi
- Android 14 SCHEDULE_EXACT_ALARM default disabled and user runtime permission is not working
- SetAlarmClock(). We need a working, current and proven example of using
- how to add a screen when the screen is off like the default alarm screen when the alarm ring with flutter, alarm screen is not its not coming
- How to update notification power efficiently every minute to display time in hour and minute in Android?
- Issue on Android 13 : Android — Repeat notification daily on specific time
Related Questions in ANDROID-WORKMANAGER
- Background location using WorkManager in Android 13 returns null when app is closed
- Flutter How to use Getx controller and change UI with work manager?
- Does WorkManager execute on its own process?
- Cancel the one time scheduled work in Android
- Exception thrown inside Coroutine Worker shuts down the worker
- How to solve WorkManager is not initialized properly error?
- PeriodicWorker doesn't show notifications
- Workmanager jobs stop working or do not complete on a third or fourth attempt
- PeriodicWorkRequestBuilder is set 40 years in the future
- Background current location update
- Canceling Unnamed, Non-Unique Periodic WorkRequests in Android WorkManager
- Can we use recurring OneTimeWorkRequest that enqueues another OneTimeWorkRequest every 5 mins to achieve period of 5 min using WorkManager in Android?
- @HiltAndroidApp is unresolved after adding hilt-work dependency
- Would I need to use WorkManager instead of Service for these case scenarios?
- Issue with Hilt integration in WorkManagerApplication
Related Questions in ANDROID-BACKGROUND
- Background location using WorkManager in Android 13 returns null when app is closed
- How to use NotificationListenerService in Android 14?
- Custom Rotation observer which works like ActivityInfo.SCREEN_ORIENTATION_SENSOR (android:screenOrientation="sensor") in Activities
- How to Bluetooth LE background connection?
- How to hide the app content with splash screen when app is in backgorund/inactive in flutter with package or method channel
- Android - Detect fragment moved from background to foreground
- Pick a color from a list, array not found in Android
- ListenableWorker's onStopped() gets called unexpectedly while executing code
- AsyncTask onBackground() throws error - Caused by: java.lang.IllegalStateException: Method addObserver must be called on the main thread
- React Native Socket.io not working in background
- Using Socket in Android application for non-google certified devices
- Black Background instead of transparent screen in an activity
- How do I modify or remove system-defined shortcuts such as "app info" and "Pause app" in android
- How to programmatically show/hide only the background/image of an ImageView in Android?
- How to force stop an app with Android Studio to test background lifecycle mechanism?
Related Questions in FIREBASE-JOB-DISPATCHER
- Is firebase-jobdispatcher removed from Android 12?
- Android - Migrating Recurring Job From Job Dispatcher to Work Manager - Do I need to cancel the old job?
- Android WorkManager PeriodicWorkRequest issue -- not running after app is closed
- Implementing Job Dispatcher
- Confusion between all backgrounding options (and their evolution in time) with Xamarin.Forms Android
- firebase jobdispatcher doesn't schedule my job
- Which worker need to be use when migrating firebase-job-dispatcher to workmanager?
- FirebaseJobDispatcher not triggering
- When migrating from FirebaseJobDispatcher to AndroidX Workmanager: How do I return a ListenableFuture in startWork?
- JobService doesn't stop after calling FirebaseJobDispatcher.cancel()
- How to perform background service while battery optimization is active
- Broadcast receiver doesn't work after registering in onStartJob
- Is BOOT_COMPLETED required for WorkManager?
- MediaRecorder does not record audio in the background
- Firebase job service started with big delay
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
As developers remains unhappy with such small answers, so i am starting the
HUGEtheory, here we go -STRATEGY NO - 1 :
AlarmManagerReboot, so keep all alarms in appSqlitedatabase, implementBOOT_COMPLETEDbroadcastreceiver, which is still allowed to define statically & re-schedule all alarms by taking from apps database.emulatorsBOOT_COMPLETEDbroadcastreceiver.useless( as per chinese ROMs ) , so they disallows all other packages background tasks..!!foreground. Never triggers if app is removed fromrecentsSTRATEGY NO - 2 :
Use
FirebaseJobScedularas you statedIf user updates
Google Play Services, then system forgets all jobs..!!Again
FirebaseJobScedularwas developed to run all jobs on every device in market, but as chinese ROMs never allows any processes / classes / Jobs from their ownwishlist, this makes no sense again.This library is depriciated by google now.
STRATEGY NO - 3 :
Use
WorkManager, the new library which is taking place over the FireBaseJobScedular officially.Again the same thing,
WorkManageris still in development, you can use it, but the case is same that many chinese ROMs discard this libraries jobs too..!!STRATEGY NO - 4 :
Run all time foreground service.
BOOT_COMPLETEDfrom yourbroadcastreceiverstart it again.But even if you use
START_STICKY, many chinese ROMs used to suspend its tasks, you can see it in foreground, but works gets suspended.STRATEGY NO - 5 :
Use
WakeLocksBut as the android version changes, it has changed to the newer newer implementational strategies in every versions
STRATEGY NO - 6 :
Programatically make battery optimisation off for your app, but google discontinues your app from app store in such case
Navigate user to battery optimisation settings intent, by opening it programatically & let him choose battery optimisations on his own, is allowed by google
But as no user is in market, who knows it, as even many developers dont know this yet, how end users can understand it..??
Again if power saving mode ( it is different than battery optimisation okay ) is made ON by user then, no way your battery optimisations is never considered.
phone, after which, users are unable to swipe it away from the recents, even if it is swiped away, your all above strategies will work & your jobs / alarms / tasks will be executed, as it happens on your android emulator or as on stock androidYes, it is. As in the market you will notice 1% stock android devices and 99% chinese modified ROMs