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

December 09, 2023
测试
测试
测试
测试
3 分钟阅读

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";
    }
}

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多