1

メソッドで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、結果はありません。ダイアログは常に表示されるとは限らないため、この場合、メソッドが正しく機能しない可能性がありますか?finishfinishAffinitydismiss

この例外の原因と解決方法を教えてください。

ありがとうございました!

4

1 に答える 1