[android] 网络链接类型和渠道
2016-06-25 12:22
309 查看
1.实现方式
1.1使用HttpUrlConnection
1.2使用HttpClient
1.3使用Socket,比如:豌豆荚,聊天工具
2.通讯渠道
2.1 WLAN(wi-fi),100米左右的数据传输
2.2 手机APN接入点(基站)
2.2.1 wap的方式,中国特色,首先会连接电信运营商代理拦截10.0.0.172,HttpUrlConnection会不稳定
2.2.2 net的方式
3.通讯工具
3.1判断网络类型
根据Context上下文,判断是wifi还是APN,然后再判断APN的接入方式,有代理信息的是wap没有的是net
1.1使用HttpUrlConnection
1.2使用HttpClient
1.3使用Socket,比如:豌豆荚,聊天工具
2.通讯渠道
2.1 WLAN(wi-fi),100米左右的数据传输
2.2 手机APN接入点(基站)
2.2.1 wap的方式,中国特色,首先会连接电信运营商代理拦截10.0.0.172,HttpUrlConnection会不稳定
2.2.2 net的方式
3.通讯工具
3.1判断网络类型
根据Context上下文,判断是wifi还是APN,然后再判断APN的接入方式,有代理信息的是wap没有的是net
package com.tsh.lottery.net; import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.Uri; public class NetUtils { /** * 获取网络状态 * @param context * @return */ public static String getNetworkInfo(Context context) { ConnectivityManager cm=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); //判断wifi NetworkInfo networkInfo=cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(networkInfo!=null && networkInfo.isConnected()){ return "wifi"; } //判断APN NetworkInfo mobileInfo=cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if(mobileInfo!=null && mobileInfo.isConnected()){ //获取APN接入方式,因为权限问题,没有成功 // ContentResolver resolver=context.getContentResolver(); // Cursor cursor=resolver.query(Uri.parse("content://telephony/carriers"), null, null, null, null); // if(cursor!=null && cursor.moveToFirst()){ // String proxy=cursor.getString(cursor.getColumnIndex("proxy")); // System.out.println(proxy); // } return "mobile"; } return "no"; } }
相关文章推荐
- 网络状态判断工具类
- Tomcat服务器常用配置和HTTP简介
- TCP粘包
- Http协议详解
- HTTP协议
- android http网络编程
- RxJava+retrofit2实现网络请求
- HTTPS 科普扫盲
- TCP和ip的那些事儿~~~
- TCP(HTTP)长连接和短连接区别和怎样维护长连接
- php://input,$_POST,$HTTP_RAW_POST_DATA区别
- Sofia-SIP辅助文档二十 - Sofia SIP用户代理库 - "http" - HTTP解析模块
- Sofia-SIP辅助文档十九 - Sofia SIP用户代理库 - "nth" - HTTP事务模块
- 使用C#开发HTTP服务器系列之Hello World
- http请求资源下载还是打开显示
- 关于TCP传输速率的测量方法
- Jmeter压力测试(简单的http请求)-实例
- tcp知识点汇总
- 【网络编程6】Java与C语言套接字Socket通信的例子
- 使用eclipse+maven报jspmaven The superclass "javax.servlet.http.HttpServlet" was not found