Android 判断当前联网的类型 wifi、移动数据流量
先获取系统管理网络连接的Manager:
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
再获取当前已经激活的连接:(当期为null时代表当前无连接)
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
其中常量ConnectivityManager.TYPE_MOBILE标识着是移动数据流量,
而ConnectivityManager.TYPE_WIFI标志着是wifi。
package com.example.NetworkChangeReceiver2; import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast; public class MyActivity extends Activity { ConnectivityManager connectivityManager; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
} public void isWifi(View view) {
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo == null) {
Toast.makeText(this, "没有联网!", 1).show();
return;
}
if(activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
Toast.makeText(this, "连接的网络是wifi!", 1).show();
} else {
Toast.makeText(this, "不是wifi!", 1).show();
}
} public void isMobile(View view) {
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo == null) {
Toast.makeText(this, "没有联网!", 1).show();
return;
}
if(activeNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
Toast.makeText(this, "连接的网络是移动数据流量!", 1).show();
} else {
Toast.makeText(this, "不是移动数据流量!", 1).show();
}
}
}
Android 判断当前联网的类型 wifi、移动数据流量的更多相关文章
- Android判断用户的网络类型(2/3/4G、wifi)
很多时候需要先判断当前用户的网络,才会继续之后的一些处理逻辑.但网络类型获取这一块,我用我自己的的手机调试时遇到一些问题,这里记录一下. 一加手机一代,移动4G 网络,得到的subtype类型值为17 ...
- Android 判断当前网络连接类型
实际应用开发时,如果存在需要用户获取大量数据的情况,最好是先判断下网络类型,提示用户当前的网络类型,是否需要连接Wifi,etc.(手机流量太贵啦,当然土豪是无视这玩意的, (/ □ \)). 定义网 ...
- Unity判断用户联网状态,WiFi/移动网络/无网络
Unity判断用户联网状态 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- Android 判断是否联网 是否打开上网
ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); ...
- [Android]使用AdapterTypeRender对不同类型的item数据到UI的渲染
以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3992843.html 本文讲的工具均放在AndroidBucket开源 ...
- 判断是否联网_检测网络的类型为3G、2G、wap、wifi
判断是否联网_检测网络的类型为3G.2G.wap.wifi 判断是否联网: /*** * judge Internet is available * * @author wei-spring * @ ...
- Android开发之强大的网络判断工具,判断是否联网,判断是wifi还是3g网络等java工具代码类
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985, 转载请说明出处. 给大家分享一个Android开发者常用的工具类.主要针对网络判断的 功能强大.下面 ...
- Android判断当前的android设备是否处于联网状态
首先,要想获得当前android设备是否处于联网状态,那么android本身给我们提供了一个服务 private ConnectivityManager connectivityManager;//用 ...
- Android 监测手机联网状态 wifi、移动数据流量、无联网状态
手机当完成联网时会发送一个广播,我们只要创建一个广播接收者即可,代码如下: package com.example.NetworkChangeReceiver2; import android.con ...
随机推荐
- Nginx 之并发优化
客户端/服务端 连接数 ulimit -n 100000 nginx 链接数 10240 个 worker_connections 10240;允许打开文件数worker_processes 1;wo ...
- [大牛翻译系列]Hadoop(13)MapReduce 性能调优:优化洗牌(shuffle)和排序阶段
6.4.3 优化洗牌(shuffle)和排序阶段 洗牌和排序阶段都很耗费资源.洗牌需要在map和reduce任务之间传输数据,会导致过大的网络消耗.排序和合并操作的消耗也是很显著的.这一节将介绍一系列 ...
- c#配置log4net步骤
1.引入添加log4net.dll引用 2.建立配置文件Log4Net.config(名字自定义).文件内容参考,输出的文件名称可更改 .运行是要放入到相应bin/debug(release) 目录 ...
- BI与大数据
微博的诞生.云计算.物联网.移动互联网等各种爆炸式数据,给商业智能的蓬勃发展提供了良好的“大数据”环境.大数据为BI带来了海量数据.对挖掘来说,大数据量要更容易对比.抢夺大数据市场,需要具备一定的实力 ...
- VC2010 MFC文档类菜单快捷键无法加载问题
问题1. 在菜单中项中输入&Run\tF5, 运行显示Run,而不是Run F5. 问题2.在Accelerator中绑定了快捷键,但运行程序不起作用. 以上2中问题在VC++2008和VC+ ...
- CentOS安装 pure-ftpd
yum -y install pam-devel cd /usr/local .tar.gz cd pure-ftpd- ./configure --prefix=/usr/local/pure-ft ...
- Ubuntu下Code::Blocks无法编译 /bin/sh: 1: g++ not found 解决办法
Linux下Code::Blocks无法编译运行提示 /bin/sh: 1: g++ not found 的解决办法 今天在Ubuntu 12.04 软件中心中选装了Code::Blocks,安装完成 ...
- 【android】uiselectoer 自动化测试
转:http://blog.csdn.net/sasoritattoo/article/details/17579739 Android自动化测试主要分为Monkeyrunner.Rubotium.U ...
- SharePoint 2010 的企业级搜索技术文章
http://msdn.microsoft.com/zh-cn/library/ff828776(v=office.14).aspx http://msdn.microsoft.com/zh-cn/l ...
- vs2013中头文件中大小写的切换的快捷键
1.选中内容 2.ctrl+shift+u 例如: #include "LayerStart.h" -> #include "LAYERSTART.H&q ...