`
aking86
  • 浏览: 82971 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android网络连接

阅读更多

android网络连接

 

转载的

选自:http://topic.csdn.net/u/20110215/15/ee286e76-214d-4df2-b535-4d6657fbe569.html

 

当一台手机存在多个活动网络时,想要控制程序通过指定的网络进行通讯,请问该如何编码?
譬如有台手机同时存在CMNET和WIFI网络,我想使用WIFI网络进行网络通讯而不使用CMNET网络,请问程序该如何写?

 

====================
wifi的优先级最高,在wifi可用时想用CMNET关闭wifi
android.net.connectivityService.java

--------------------------------------------- ---------------------------------------------

1.Android认为终端始终在线,因此,只要网络可用,始终有一个连接存在,即默认连接。
2.Android中支持的网络类型有WIFI和Radio网络,Radio网络即是通过空中网络来连接的。
3.Android中Radio网络按照APN类型分为Default,MMS,SUPL,DUN,Hipri。
4.Radio中的Default和Wifi都是默认连接,如果Wifi可用,则会将Default对应的连接断掉,这个是Andriod中网络管理中处理的,应用程序如果需要使用默认连接,直接构造包发送即可,不参与网络管理,发不出去就是连接的问题。因此,对于这些默认连接的管理,应用程序是无需进行编程的。

--------------------------------------------- ---------------------------------------------


接入点列表读取
String id = "";
String apn = "";
String proxy = "";
String name = "";
String port = "";
String type = "";
String mcc = "";
String mnc = "";
String numeric = "";
// 生成动态数组,并且转载数据
ArrayList<HashMap<String, Object>> mylist = new ArrayList<HashMap<String, Object>>();

Uri uri = Uri.parse("content://telephony/carriers");
Cursor mCursor = getContentResolver()
.query(uri, null, null, null, null);
Log.v("debug", "getApnList=" + mCursor.getCount());
while (mCursor != null && mCursor.moveToNext()) {
// APN id
HashMap<String, Object> map = new HashMap<String, Object>();
id = mCursor.getString(mCursor.getColumnIndex("_id"));
name = mCursor.getString(mCursor.getColumnIndex("name"));
apn = mCursor.getString(mCursor.getColumnIndex("apn"))
.toLowerCase();
proxy = mCursor.getString(mCursor.getColumnIndex("proxy"));
port = mCursor.getString(mCursor.getColumnIndex("port"));
mcc = mCursor.getString(mCursor.getColumnIndex("mcc"));
mnc = mCursor.getString(mCursor.getColumnIndex("mnc"));
numeric = mCursor.getString(mCursor.getColumnIndex("numeric"));
ApnNode apnNode = new ApnNode();
phoneSettedApnID = Integer.valueOf(id).intValue();
apnNode.setName(name);
apnNode.setApn(apn);
apnNode.setProxy(proxy);
apnNode.setPort(port);
apnNode.setMcc(mcc);
apnNode.setMnc(mnc);
apnNode.setNumeric(numeric);
apnNode.setId(phoneSettedApnID);
map.put("apnNode", apnNode);
mylist.add(map);
// do other things...
}
return mylist;

 

 

其它参考资料:

http://www.cnblogs.com/mainroadlee/archive/2011/01/11/Android_Network_State_Checking_And_Setting.html 

 

--------------------------------------------- ---------------------------------------------

private void checkNetworkInfo()
{
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

//mobile 3G Data Network
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
txt3G.setText(mobile.toString());
//wifi
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
txtWifi.setText(wifi.toString());

//如果3G网络和wifi网络都未连接,且不是处于正在连接状态 则进入Network Setting界面 由用户配置网络连接
if(mobile==State.CONNECTED||mobile==State.CONNECTING)
return;
if(wifi==State.CONNECTED||wifi==State.CONNECTING)
return;


startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));//进入无线网络配置界面
//startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //进入手机中的wifi网络设置界面

}

--------------------------------------------- ---------------------------------------------

 

 

 

 

 

分享到:
评论

相关推荐

    Android网络连接检查

    总结来说,Android网络连接检查涉及多个层次,包括基本的网络连接状态检测、网络类型的判断,以及在不同Android版本下的适应性处理。同时,根据应用需求,还可以结合`BroadcastReceiver`、`WorkManager`或`Job...

    Android网络连接检测代码

    ### Android网络连接检测知识点 #### 一、网络连接检测的重要性 在开发Android应用时,确保设备具有有效的网络连接是至关重要的。很多应用依赖于互联网来提供服务或功能,例如社交媒体应用、在线游戏、天气预报...

    Android开发之系统信息【3】——获取Android网络连接信息

    总结起来,获取Android网络连接信息是Android开发中一个基础但关键的部分。通过`ConnectivityManager`和`NetworkInfo`类,开发者能够全面了解设备的网络状况,从而更好地控制和优化应用程序的网络行为。在实际开发中...

    关于Android网络连接登陆demo

    本示例“关于Android网络连接登录demo”着重讲解如何实现在Android客户端进行用户验证,并通过服务器返回的JSON数据进行交互。下面我们将深入探讨相关知识点。 首先,Android客户端与服务器之间的通信通常采用HTTP...

    Android 网络连接状态检测-IT计算机-毕业设计.zip

    在Android应用开发中,网络连接状态的检测是至关重要的,因为大部分现代应用都需要与服务器进行数据交互。...这对于毕业设计或论文来说是一个很好的实践课题,同时也能提升你对Android网络编程的理解。

    Android网络连接检测判断实例代码.rar

    Android网络连接检测判断实例代码,通过连接到指定网址的URL,判断是否有可用的网络连接。

    android 网络连接 网络状态

    在Android平台上,网络连接和网络状态的检测是应用程序与服务器通信不可或缺的一部分。了解如何在Android中检查和管理网络状态对于开发高效且用户友好的应用至关重要。以下是对这一主题的详细阐述。 首先,Android...

    Android中判断应用运行时是否有网络连接并弹出对话框提示

    本篇将详细讲解如何在Android应用中判断网络连接,并在无网络时弹出对话框进行提示。 首先,我们需要导入必要的权限,在AndroidManifest.xml文件中添加对网络状态查询的权限: ```xml &lt;uses-permission android:...

    android 网络连接类项目开发框架

    此代码为本人根据多个项目开发经验积累的精简框架,适用于移动互联网项目。框架包含了基类, 分层结构,http, ui, logic, db, components, 二维码扫描,自动升级功能, 使用了类似微博的titlebar。

    Android 判断网络连接

    在Android开发中,判断网络连接状态是至关重要的,它能够帮助开发者确保应用在有网络的情况下进行数据通信,或者在无网络时提供相应的错误提示和处理。以下是对标题和描述中涉及的知识点的详细说明: **1. Android...

    获取网络连接状态实例demo

    在Android开发中,获取设备的网络连接状态是常见的需求,比如检查用户是否已经连接到互联网,以便决定是否加载网络数据或者执行网络相关的操作。本文将详细介绍如何在Android中实现一个获取网络连接状态的实例。 ...

    安卓Android源码——网络连接状态检测.rar

    1. **Android网络连接状态检查基础** 在Android中,我们通常通过`ConnectivityManager`系统服务来检查网络连接状态。`ConnectivityManager`提供了网络连接的信息,包括移动网络、Wi-Fi等。首先,我们需要在...

    Android网络连接判断与相关处理

    在Android应用开发中,网络连接的检测和管理是至关重要的,因为这直接影响到应用的用户体验和功能实现。本文将详细讲解如何在Android中判断网络连接的状态,包括WiFi和移动网络的可用性,并获取当前网络连接的类型...

    Android连接指定wifi的Demo

    在Android平台上,开发一款应用程序以连接到指定的WiFi网络是一项常见的需求。这个“Android连接指定WiFi的Demo”正是...同时,这个Demo也是学习Android网络连接管理和权限控制的一个实例,有助于提升Android开发技能。

    Android连接网络POS打印

    Android连接网络打印设备,Android 使用 socket连接网络打印机无驱动打印。我放了个demo和文档给大家参考。

    Android 实时监测(监听)网络连接状态变化

    android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么网络类型,实时监听。android网络监听变化,判断当前是什么...

    androidUI设计与网络开发

    "【eoeAndroid特刊】第十二期ANDROID 网络连接大全"可能包含关于如何处理网络连接问题的详细资料,例如,如何检测网络状态、处理网络中断、优化数据传输效率等。开发者应学会使用ConnectivityManager和NetworkInfo类...

    android判断网络连接

    在Android应用开发中,了解如何判断网络连接状态和网络连接类型是至关重要的。这不仅可以确保应用在有网络的情况下正常运行,还可以根据不同的网络环境提供不同的服务。以下是一些关于Android中判断网络连接的知识点...

    android控制程序的网络连接参考android Droidwall

    android控制程序的网络连接

Global site tag (gtag.js) - Google Analytics