在我的android应用中,用户转到Notification Access设置以启用NotificationListenerService。这是通过一个简单的按钮完成的,单击该按钮即可启动新活动:
var intent = new Intent();
intent.SetAction(Android.Provider.Settings.ActionNotificationListenerSettings);
intent.SetFlags(ActivityFlags.NewTask);
MainActivity.Instance.StartActivity(intent);
到目前为止,一切都很好。当用户按下设备上的返回按钮以返回到应用程序时,就会出现问题。此时,我在日志中看到一个IntentReceiverLeaked错误:
ActivityThread android.app.IntentReceiverLeaked: Activity com.android.settings.Settings$NotificationAccessSettingsActivity
has leaked IntentReceiver com.android.settings.accounts.AuthenticatorHelper@f52224
that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:1030)
at etc...
我发现了许多有关注销广播接收器的答案,例如活动暂停后。问题是我没有创建NotificationAccessSettingsActivity,所以我认为我无法为该操作注销接收者。
值得注意的是,如果我按下主页按钮,然后返回到我的应用程序,则日志中不会出现错误。
如何解决此错误?