我有一种感觉,我已经知道答案了,但我不确定.我正在使用广播接收器拦截传入的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在下一次应用加载时取消注册广播接收器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)