Android网络连接,如何选择连接类型? 当一台手机存在多个活动网络时,想要控制程序通过指定的网络进行通讯,请问该如何编码? 譬如有台手机同时存在CMNET和WIFI网络,我想使用WIFI网络进行网络通讯而不使用CMNET网络,请问程序该如何写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那我想指定使用CMNET网络呢?我的意思就是有多个可用网络时,可以人为指定使用某个网络。 wifi的优先级最高,在wifi可用时想用CMNET关闭wifiandroid.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; 楼主,我都说了叫你看ConnectivityService.java,别这么懒~。~ http://www.cnblogs.com/mainroadlee/archive/2011/01/11/Android_Network_State_Checking_And_Setting.html看看这篇有没有些用处。 我也在做和楼主同样想法的实验。让wifi和mobile同事共存,但是上网的时候就不知道该怎么手动指定该由哪条通路出去了、 求教实现widget还原activity效果 安卓设备之间实现远程控制的解决方案 如何将对象数组在android模拟器上单个显示出来? android两个activity切换的问题 这里有人会使用android自动化测试吗?方法一般都是什么?赐教 R.id.widget29_getName_EditText是什么东东 画画板重绘 Android与PC通信,客户端运行失败 求教!!android 关于标签的使用!! 今天好像微信SDK挂掉了 求 关于android系统运行机制的资料 可以在不同的View之间传递motionevent么?
android.net.connectivityService.java
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;
看看这篇有没有些用处。
让wifi和mobile同事共存,但是上网的时候就不知道该怎么手动指定该由哪条通路出去了、