首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android本体中,检测用户断开了Wifi的连接

在Android本体中,检测用户断开了Wifi的连接
EN

Stack Overflow用户
提问于 2017-09-01 19:56:20
回答 1查看 477关注 0票数 0

当应用程序处于后台模式时,我们如何检测用户已断开Wi连接?

众所周知,在Android7.0之后,当发送BroadcastsReceveirs广播意图时,我们的CONNECTIVITY_ACTION就不再被触发。手动/以编程方式注册BroadcastReceiver不是一个选项,因为我的应用程序是在后台运行的。

我试着安排了一个JobService,当用户跳入中的WiFi网络(NETWORK_TYPE_UNMETERED需求)时,它工作得很好,但是当用户跳出WiFi直接进入一个没有互联网的状态时,它就不能工作了。就像如果用户有,没有SIM卡,

代码语言:javascript
运行
复制
JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(new JobInfo.Builder(JOB_ID,
   new ComponentName(this, NoInternetJobService.class))
   .setRequiredNetworkType(JobInfo.NETWORK_TYPE_METERED)
   .build());

在上面的例子中,如果用户跳出WiFi并连接到计量连接(带有数据的SIM卡),我的WiFi就会被触发。

有些人可以说,对网络需求使用JobInfo.NETWORK_TYPE_NONE,但这只是计划作业的默认值。我基本上是对jobScheduler说,不要查看网络参数来运行我的工作,因为我根本不需要互联网。因此,由于我没有任何其他需求,所以它将在我计划的时候执行。

有什么想法吗?我开始认为这不可能在努格特或更高的地方完成。

EN

回答 1

Stack Overflow用户

发布于 2018-02-21 18:18:27

解决方案-听android.net.wifi.STATE_CHANGE广播而不是android.net.conn.CONNECTIVITY_CHANGE意图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46007204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档