android / android/codelab-android-workmanager

Receiver not registered: androidx.work.impl.constraints.trackers.BroadcastReceiverConstraintTracker

オープン
#289 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。