lingochamp / lingochamp/FileDownloader
startForegroundService() not allowed due to mAllowStartForeground false
- Dominant language
- Java
- Stars
- 11.1k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
Need to adopt Android 12 behavior changes, can't start foreground service from the background.
```
Fatal Exception: android.app.ForegroundServiceStartNotAllowedException: startForegroundService() not allowed due to mAllowStartForeground false:
service messenger.MainActivity.launcher.home.screen/com.liulishuo.filedownloader.services.FileDownloadService$SharedMainProcessService
at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54)
at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50)
at android.os.Parcel.readParcelable(Parcel.java:3345)
at android.os.Parcel.createExceptionOrNull(Parcel.java:2432)
at android.os.Parcel.createException(Parcel.java:2421)
at android.os.Parcel.readException(Parcel.java:2404)
at android.os.Parcel.readException(Parcel.java:2346)
at android.app.IActivityManager$Stub$Proxy.startService(IActivityManager.java:6968)
at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1927)
at android.app.ContextImpl.startForegroundService(ContextImpl.java:1893)
at android.content.ContextWrapper.startForegroundService(ContextWrapper.java:798)
at g7.d.a(FileDownloadServiceSharedTransmit.java:8)
at g7.d.x099(:1)
at g7.c.x099(:2)
at g7.g.x022(FileDownloader.java:3)
at mymessenger.messaging.module.ui.main.MainFragment.onCreate(MainFragment.java:2)
at androidx.fragment.app.Fragment.performCreate(Fragment.java:6)
at androidx.fragment.app.FragmentStateManager.create(FragmentStateManager.java:5)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:21)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:3)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:57)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:4)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(:4)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:6)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:1)
at com.android.launcher3.BaseActivity.onStart(BaseActivity.java:2)
at com.android.launcher3.BaseDraggingActivity.onStart(BaseDraggingActivity.java:1)
at com.android.launcher3.Launcher.onStart(Launcher.java:2)
at my.MainActivity.onStart(MainActivityLauncher.kt:1)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1455)
at android.app.Activity.performStart(Activity.java:8315)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4060)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8669)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Android 12 foreground-service behavior and trace the call from MainFragment.onCreate through FileDownloader.java and FileDownloadServiceSharedTransmit.java. Reproduce the reported ForegroundServiceStartNotAllowedException and verify that the affected startup path no longer attempts an unallowed background service start.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100