android / android/codelab-android-workmanager
Receiver not registered: androidx.work.impl.constraints.trackers.BroadcastReceiverConstraintTracker
- 主要言語
- Kotlin
- スター
- 557
- フォーク
- 242
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I meet a crash:
android.app.LoadedApk in forgetReceiverDispatcher at line 1533
android.app.ContextImpl in unregisterReceiver at line 1674
android.content.ContextWrapper in unregisterReceiver at line 725
androidx.work.impl.constraints.trackers.BroadcastReceiverConstraintTracker in stopTracking at line 81
androidx.work.impl.constraints.trackers.ConstraintTracker in removeListener at line 86
androidx.work.impl.constraints.controllers.ConstraintController in replace at line 97
androidx.work.impl.constraints.WorkConstraintsTracker in replace at line 106
androidx.work.impl.background.greedy.GreedyScheduler in removeConstraintTrackingFor at line 224
androidx.work.impl.background.greedy.GreedyScheduler in onExecuted at line 210
androidx.work.impl.Processor in onExecuted at line 302
androidx.work.impl.Processor$FutureListener in run at line 375
android.os.Handler in handleCallback at line 938
android.os.Handler in dispatchMessage at line 99
android.os.Looper in loop at line 264
android.app.ActivityThread in main at line 8282
コントリビューションガイド
調査の方向性
81行目の androidx.work.impl.constraints.trackers.BroadcastReceiverConstraintTracker.stopTracking から開始し、ConstraintTracker.removeListener、WorkConstraintsTracker.replace、GreedyScheduler.onExecuted を通じてその呼び出し元を追跡します。報告された unregisterReceiver のクラッシュを再現し、それを引き起こすライフサイクル条件を特定します。receiver が誤って登録解除されず、クラッシュが回帰テストでカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- android, kotlin
- 領域
- mobile
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100