![[android] 网络链接类型和渠道,第1张 [android] 网络链接类型和渠道,第1张](/aiimages/%5Bandroid%5D+%E7%BD%91%E7%BB%9C%E9%93%BE%E6%8E%A5%E7%B1%BB%E5%9E%8B%E5%92%8C%E6%B8%A0%E9%81%93.png)
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; androID.content.Context; androID.database.Cursor; androID.net.ConnectivityManager; androID.net.NetworkInfo; androID.net.Uri;public class NetUtils { /** * 获取网络状态 * @param context * @return */ 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!= mobileInfo.isConnected()){ 获取APN接入方式,因为权限问题,没有成功 ContentResolver resolver=context.getContentResolver(); Cursor cursor=resolver.query(Uri.parse("content:telephony/carrIErs"),null,null); if(cursor!=null && cursor.movetoFirst()){ String proxy=cursor.getString(cursor.getColumnIndex("proxy")); System.out.println(proxy); } return "mobile"return "no"; }}
总结
以上是内存溢出为你收集整理的[android] 网络链接类型和渠道全部内容,希望文章能够帮你解决[android] 网络链接类型和渠道所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)