[android] 网络链接类型和渠道

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

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";
    }
}
时间: 2024-10-08 21:48:32

[android] 网络链接类型和渠道的相关文章

iphone判断当前网络连接类型

?Reachability只能区分出无网络.wifi和wwan(2G&2.5G&3G)类型的网络连接类型,只需重构networkStatusForFlags方法,即可详细区分出2G与3G网络 ??1. [代码][C/C++]代码     //Reachability.m 中 networkStatusForFlags 方法重构- (NetworkStatus) networkStatusForFlags: (SCNetworkReachabilityFlags) flags{if ((fl

Android 判断网络链接

今天在做判断是否有网络连接时一直报错,后来才知道缺少了权限. 大家都知道Android连网需要添加权限: <uses-permission android:name="android.permission.INTERNET" /> 但是我们在判断时也需要添加访问权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permis

Android如何检测网络的类型为3G、2G、wap、wifi

关于Android如何检测网络的类型,网上代码很多,但是有用的精品不多,前段时间,因为做项目需要涉及到具体网络类型的检查,特别是区分2G网络是为wap,还是net,类型,因为wap类型,需要配置代理上网,基于此,我将自己实现的过程代码记录下来: 1.定义常量来标识几种网络类型 /** 没有网络 */ public static final int NETWORKTYPE_INVALID = 0; /** wap网络 */ public static final int NETWORKTYPE_W

检测android的网络链接状态

http://www.oschina.net/question/100267_61129?sort=default&p=1#tags_nav http://www.cnblogs.com/top5/archive/2011/12/29/2306241.html http://www.open-open.com/lib/view/open1342353575260.html http://blog.csdn.net/ithomer/article/details/7896313 检测android

Android中的网络链接问题NetworkInfo

百度搜索 如何判断android网络是否可用,会有一大堆的结果. 但是最终结底还是用networkInfo.isAvailable来判断的,但是经过我的实验,我发现此方法只是判断手机联网状态是否就绪,而不是真的判断忘络是否已经链接. 下面贴出我的测试经过. 测试机型:华为荣耀3C ROM miui v6(其他机型是否如此有待验证,且真机和虚拟的结果肯定是有出入,所以这方面最好用真机来测试) 测试代码: //AndroidManifest.xml中需加入权限<uses-permission and

Android 判断当前网络连接类型

实际应用开发时,如果存在需要用户获取大量数据的情况,最好是先判断下网络类型,提示用户当前的网络类型,是否需要连接Wifi,etc.(手机流量太贵啦,当然土豪是无视这玩意的, (/ □ \)). 定义网络连接类型: public static final int NETTYPE_NULL = 0x00; //未连接网络 public static final int NETTYPE_WIFI = 0x01; //WIFI public static final int NETTYPE_MOBILE

Android网络编程网上文章总结

关于网络编程,网上也有许多好的文章,这里我就选了几篇觉得不错的归纳到了一起,仅供参考 Android网络编程概述 首先,应该了解的几个问题: 1)Android平台网络相关API接口 a) java.net.*(标准Java接口) java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取数

6、android 网络编程

1.基于socket的用法 服务器端: 先启动一个服务器端的socket     ServerSocket svr = new ServerSocket(8989); 开始侦听请求 Socket s = svr.accept(); 取得输入和输出 DataInputStream dis = new DataInputStream(s.getInputStream()); DataOutputStream dos = new DataOutputStream(s.getOutputStream()

Android网络之HttpUrlConnection和Socket关系解析

多年以前Android的网络请求只有Apache开源的HttpClient和JDK的HttpUrlConnection,近几年随着OkHttp的流行Android在高版本的SDK中加入了OkHttp.但在Android官方文档中推荐使用HttpUrlConnection并且其会一直被维护,所以在学习Android网络相关的知识时我们队HttpUrlConnection要有足够的了解.... 前几天因为时间的关系只画了图 HttpUrlConnection和Socket的关系图 ,本来说好的第二天