lingochamp / FileDownloader

Multitask、MultiThread(MultiConnection)、Breakpoint-resume、High-concurrency、Simple to use、Single/NotSingle-process
Apache License 2.0
11.02k stars 2.2k forks source link

startForegroundService() not allowed due to mAllowStartForeground false #1412

Open Goooler opened 2 years ago

Goooler commented 2 years ago

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)