Android在下一次应用加载时取消注册广播接收器

Android在下一次应用加载时取消注册广播接收器,第1张

概述我有一种感觉,我已经知道答案了,但我不确定.我正在使用广播接收器拦截传入的SMS消息.我使用registerReceiver函数以典型方式注册接收器,并且在注销接收器时使用unregisterReceiver函数.我保留一个全局广播变量,以根据需要加载和卸载接收器.如果应用程序关闭了,就像用户实际上关闭

我有一种感觉,我已经知道答案了,但我不确定.我正在使用广播接收器拦截传入的SMS消息.

我使用registerReceiver函数以典型方式注册接收器,并且在注销接收器时使用unregisterReceiver函数.我保留一个全局广播变量,以根据需要加载和卸载接收器.

如果应用程序关闭了,就像用户实际上关闭了应用程序一样,并且我没有使用onDestroy方法注销接收器(我知道这是不好的做法),那么下次加载该应用程序时,是否有办法注销接收器?我可以创建该广播接收器的另一个实例,然后注销它吗?

解决方法:

If the app closes

您可以说您的UI是否在前台.您可以说您的应用程序进程处于前台,后台或已终止.

目前尚不清楚什么是“结束”.

like the user actually closes the application

用户可以将应用的用户界面和流程移至后台(例如,按HOME).用户可以销毁应用的用户界面,并将其进程移至后台(例如,从上次运行的活动中按BACK).用户可以终止应用的后台进程(例如,将应用从最近任务列表中滑出).用户可以强制停止应用程序(例如,在“设置”中按应用程序的“强制停止”按钮).

目前尚不清楚“用户实际上关闭了应用程序”是什么意思.

would there be a way to unregister the receiver the next time the app loads?

您是否具有对broadcastReceiver对象的引用,或者没有.如果这样做,请在某些Context上调用unregisterReceiver(),并传入该broadcastReceiver实例.如果您没有broadcastReceiver实例,则无法注销接收者.如果从注册接收者到现在的过程已经终止,则该接收者不见了并且实际上未注册.

总结

以上是内存溢出为你收集整理的Android在下一次应用加载时取消注册广播接收器全部内容,希望文章能够帮你解决Android在下一次应用加载时取消注册广播接收器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1077804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存