Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了应用程序关闭时如何接收Android Nougat的网络丢失回调?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够在应用程序关闭时进行任何网络更改或任何网络连接丢失唤醒我的应用程序的绑定服务.过去通过在 Android Nougat中弃用之前侦听CONNECTIVITY_CHANGE广播来完成.只有当应用程序通过编程创建广播接收器打开时,人们仍然可以收听这些广播,但是如果关闭我的应用也需要被唤醒.

我注意到Connectivitymanager.registerNetworkCallBACk(Networkrequest,PendingIntent)方法及其JavaDoc声称它在应用程序关闭时可以正常工作,但是当我从我的服务中调用它时,它似乎只能在它停止响应事件之前工作一次.我看到Connectivitymanager.registerNetworkCallBACk(Networkrequest,NetworkCallBACk)的类似问题,这是一个仅适用于应用程序打开的Lollipop@L_618_7@.如何让这个基于PendingIntent的回调始终如一?

谷歌建议取代CONNECTIVITY_CHANGE广播的所有替代品只是检查是否存在网络.其中大多数是作业调度服务.他们假设CONNECTIVITY_CHANGE广播仅用于等待网络可用性来执行作业.但是,我的应用程序是一个VPN网络实用程序,因此我需要在任何网络更改时收到通知 – 我不仅仅是在等待网络的存在.

谢谢你的帮助!

解决方法

您可以使服务实现 NetworkCallback接口,并在服务的onCreate或onStartCommand上使用 registerNetworkCallback注册您的回调/服务并在onDestroy上取消注册.

在回调中,例如onAvailable或onLost,您可以添加业务逻辑.

大佬总结

以上是大佬教程为你收集整理的应用程序关闭时如何接收Android Nougat的网络丢失回调?全部内容,希望文章能够帮你解决应用程序关闭时如何接收Android Nougat的网络丢失回调?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。