我有一个AlertDialog
在onCreate
方法上创建的活动。
当活动被破坏时,我得到这个异常:
E/ActivityThread: Activity com.materight.turkdroid.ui.activities.LoginActivity has leaked IntentReceiver androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager$1@18c886c that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Activity com.materight.turkdroid.ui.activities.LoginActivity has leaked IntentReceiver androidx.appcompat.app.AppCompatDelegateImpl$AutoNightModeManager$1@18c886c that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:1429)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:1210)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1476)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1449)
...
at com.materight.turkdroid.ui.activities.LoginActivity.onCreate(LoginActivity.java:74)
...
引发错误的line 74
位置是创建对话框的位置:
pendingDialog = new MaterialAlertDialogBuilder(this)
.setCancelable(false)
.setTitle(R.string.pending_purchase_title)
.setMessage(R.string.pending_purchase_content)
.setPositiveButton(R.string.close, (d, which) -> finishAffinity())
.create();
我已经尝试添加pendingDialog.dismiss()
,onDestroy
和没有结果的方法finish
。finishAffinity
该对话框并不总是显示,所以dismiss
在这种情况下该方法可能无法正常工作?
是什么导致了这个异常,我该如何解决?
谢谢!