android 强制开启wifi,强制Android使用无网络的Wifi网络
我正在构建一个需要通过无线网络进行通信的Android应用程序.问题在于,即使WiFi连接,当WiFi网络上没有连接互联网时,Android会选择使用蜂窝/移动数据.
我已经阅读了许多关于这个问题的帖子,其中很多都涉及生根的设备,但这是不可能的生产应用程序(生根设备不是一个选择).其他解决方案(像我的代码如下)建议使用bindProcessToNetwork(),它完美地在我的Sony Z2上工作,但不是在我测试过的其他设备上(全部运行6.0.1)
private void bindToNetwork() {
final ConnectivityManager connectivityManager = (ConnectivityManager) mActivity.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkRequest.Builder builder;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
builder = new NetworkRequest.Builder();
//set the transport type do WIFI
builder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
connectivityManager.requestNetwork(builder.build(), new ConnectivityManager.NetworkCallback() {
@Override
public void onAvailable(Network network) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
connectivityManager.bindProcessToNetwork(null);
if (barCodeData.getSsid().contains("screenspace")) {
connectivityManager.bindProcessToNetwork(network);
}
} else {
//This method was deprecated in API level 23
ConnectivityManager.setProcessDefaultNetwork(null);
if (barCodeData.getSsid().contains("screenspace")) {
ConnectivityManager.setProcessDefaultNetwork(network);
}
}
connectivityManager.unregisterNetworkCallback(this);
}
});
}
}
android 强制开启wifi,强制Android使用无网络的Wifi网络相关推荐
- android 自动开启调试模式,android user版本默认开启调试模式
由于项目需要,需要发布版本默认开启调试模式,修改方式如下: 1.开启开发者模式 context.getSharedPreferences(DevelopmentSettings.PREF_FILE,C ...
- android中开启线程处理,Android线程与消息处理
一.实现多线程 1.创建线程 (1)通过Thread创建线程 Thread thread = new Thread(new Runnable(){ @Override public void run( ...
- android手机自动化测试,appium自动化测试Android Demo
1.启动appium上一篇介绍了iOS Demo,此片将开启Android Demo,依然是mac系统,以后会开启Windows系统的. Android Demo开启前,Android配置环境要配置好 ...
- android魅族进度条,魅族基于安卓 10 的首个 Flyme 内测版已推送:16s Pro/16s 尝鲜,可强制开启 90Hz 刷新率...
7 月 21 日消息 据魅族 Flyme 官微消息,基于 Android 10 的 Flyme 首个内测版本已推送. 魅族官方称,本次推送机型为 16s Pro.16s,16th Plus.16th ...
- Android 6.0 设备强制要求开启全盘加密
Android 6.0上大家最不愿意看到的事情发生了,不得不说真是挺悲剧的.现在有外媒报道称,谷歌已经向所有厂商要求,Android 6.0的全盘加密(Full Disk Encryption,即FD ...
- 强制开启Android 分区存储 沙盘文件系统
为了测试Android 11下强制分区存储后的应用兼容问题,这里摸索了下目前的打开方式 1. 在AS里下载API 30的 虚拟机 2. 打开虚拟机,进入首页后,执行 adb shell sm set- ...
- 强制开启Android Webview GPU 加速的方法
强制开启Android Webview GPU 加速的方法 常用方法 浏览器开启GPU加速可以让渲染的性能更好,可以有效的利用硬件的能力来提高页面的绘制帧率.在安卓平台使用webview的场景下,开发 ...
- 魅族android n彩蛋,魅族Flyme Android 10首个内测版本已推送 强制开启90Hz彩蛋
7月21日消息,魅族Flyme based on Android 10 首个内测版本已推送,本次推送机型:16s Pro.16s. 16th Plus.16th目前仍存在异常重启问题未能如期发布,预计 ...
- 魅族打开Android彩蛋,魅族 Flyme Android 10 首个内测版本已推送 强制开启 90Hz 彩蛋...
7 月 21 日消息,魅族 Flyme based on Android 10 首个内测版本已推送,本次推送机型:16s Pro.16s. 16th Plus.16th 目前仍存在异常重启问题未能如期 ...
- 魅族android n彩蛋,魅族Flyme Android 10终于发放:强制开启90Hz彩蛋
7月21日消息,魅族Flyme based on Android 10 首个内测版本已推送,本次推送机型:16s Pro.16s. 16th Plus.16th目前仍存在异常重启问题未能如期发布,预计 ...
最新文章
- 三元组损失 Triplet Loss及其梯度
- 查找内存泄漏的一个思路
- java consumer.poll_kafka消费者API consumer.poll()没有错误,没有异常,只是阻止
- (37)Verilog HDL拼接运算:拼接操作与重复操作
- mediamind SyncAds
- blockquote标签、q标签
- 山东省农村信用计算机社考试,山东省农村信用社计算机专业考试题
- SEO大神: 百度快速SEO之网站标题怎么取
- 常见html5营销类型有哪些,常见的品牌营销都有哪几种形式
- 小程序为什么有的方法要写在methods,有的可直接写在page下
- win10 android 传多个文件夹,Win10使用ROBOCOPY快速复制多个文件夹的操作方法
- 司空见惯 - 天黑请闭眼
- 显示器支架什么品牌好?
- 【网络游戏植入营销案例】
- 蒙特卡罗MCNP学习汇总(二)--几何体基础,构建几何体
- WS小世界网络构建实验(Matlab版)
- Socket 网络协议 等
- 计算1+3+5+....+99的和
- 2021.2.6课程摘要(逻辑教育-王劲胜)
- 物流供应链系统运作原理,物流供应链管理系统优化布局