android 自动检测状态,使用Android中的JobSchedulers检测网络状态更改

是的,不是.

JobInfo.Builder.setRequiredNetworkType()方法允许您安排在满足特定网络条件时运行的作业.

网络类型可以是以下三个值之一:

> JobInfo.NETWORK_TYPE_NONE:无需网络连接.

> JobInfo.NETWORK_TYPE_UNMETERED:未计量的WiFi或以太网连接.

> JobInfo.NETWORK_TYPE_ANY:任何网络连接(WiFi或蜂窝网络).

现在,抓住……没有NETWORK_TYPE_CELLUAR.只有在蜂窝电话上才能唤醒您的应用程序. (你为什么想这么做?)

另一个问题…… WiFi连接可以计量或不计量.计量连接通常是移动热点之类的东西,可以自动检测(热点可以发送特殊的DHCP选项),或者用户可以通过WiFi设置在每个网络上手动切换它.

所以,是的,您可以在JobScheduler作业上设置网络类型约束.但是,不,您没有达到您要求的粒度级别.

正如@CommonsWare所提到的,我们的想法是,除非您有充分的理由,否则您通常希望在网络连接未计量时安排与网络相关的作业. (使用setRequiresCharging(true)来延迟工作直到交流电源可用,以节省电池也是一个好主意.)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值