- 浏览: 936764 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
private static final int CMNET=1;
private static final int CMWAP=2;
private static final int WIFI=3;
public static int getAPNType(Context context){
int netType = -1;
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if(networkInfo==null){
return netType;
}
int nType = networkInfo.getType();
if(nType==ConnectivityManager.TYPE_MOBILE){
Log.e("networkInfo.getExtraInfo()", "networkInfo.getExtraInfo() is "+networkInfo.getExtraInfo());
if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")){
netType = CMNET;
}
else{
netType = CMWAP;
}
}
else if(nType==ConnectivityManager.TYPE_WIFI){
netType = WIFI;
}
return netType;
}
//获取网络连接管理者
ConnectivityManager connectionManager = (ConnectivityManager)
getSystemService(CONNECTIVITY_SERVICE);
//获取网络的状态信息,有下面三种方式
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
NetworkInfo 有一下方法
getDetailedState():获取详细状态。
getExtraInfo():获取附加信息。
getReason():获取连接失败的原因。
getType():获取网络类型(一般为移动或Wi-Fi)。
getTypeName():获取网络类型名称(一般取值“WIFI”或“MOBILE”)。
isAvailable():判断该网络是否可用。
isConnected():判断是否已经连接。
isConnectedOrConnecting():判断是否已经连接或正在连接。
isFailover():判断是否连接失败。
isRoaming():判断是否漫游
当用wifi上的时候
getType 是WIFI
getExtraInfo是空的当用手机上的时候
getType 是MOBILE
用移动CMNET方式
getExtraInfo 的值是cmnet
用移动CMWAP方式
getExtraInfo 的值是cmwap 但是不在代理的情况下访问普通的网站访问不了
用联通3gwap方式
getExtraInfo 的值是3gwap
用联通3gnet方式
getExtraInfo 的值是3gnet
用联通uniwap方式
getExtraInfo 的值是uniwap
用联通uninet方式
getExtraInfo 的值是uninet
转载:
-----------------------------------------
变量定义
Cursor cursor_current,cursor_need;
Uri PREFERRED_APN_URI, APN_TABLE_URI;
int newCreateAPN_Id;
String APN_Id;
TelephonyManager tm;
WifiManager wifi;
String strAPN;
使用到的函数如下:
//获取当前APN属性
private boolean getCurrentAPN(){
PREFERRED_APN_URI = Uri.parse("content://telephony/carriers/preferapn");
cursor_current = this.getContentResolver().query(PREFERRED_APN_URI, null, null, null, null);
if(cursor_current != null && cursor_current.moveToFirst()){
String proxy = cursor_current.getString(cursor_current.getColumnIndex("proxy"));
String apn = cursor_current.getString(cursor_current.getColumnIndex("apn"));
String port = cursor_current.getString(cursor_current.getColumnIndex("port"));
String current = cursor_current.getString(cursor_current.getColumnIndex("current"));
if(proxy == null || apn == null || port == null || current == null
|| proxy.equals("") || port.equals("")){
return false;
}
if((proxy.equals("10.0.0.172") || proxy.equals("010.000.000.172")) && port.equals("80") &&
apn.equals("cmwap") && current.equals("1")){
return true;
}
}
return false;
}
//检查是否存在cmwap网络
private boolean checkHasWapAPN(){
APN_TABLE_URI = Uri.parse("content://telephony/carriers");
cursor_need = this.getContentResolver().query(APN_TABLE_URI, null, null, null, null);
while(cursor_need != null && cursor_need.moveToNext()){
String id = cursor_need.getString(cursor_need.getColumnIndex("_id"));
String port = cursor_need.getString(cursor_need.getColumnIndex("port"));
String proxy = cursor_need.getString(cursor_need.getColumnIndex("proxy"));
String current = cursor_need.getString(cursor_need.getColumnIndex("current"));
String mmsc = cursor_need.getString(cursor_need.getColumnIndex("mmsc"));
if(proxy == null || port == null || current == null){
continue;
}
if((proxy.equals("10.0.0.172") || proxy.equals("010.000.000.172"))
&& port.equals("80") && current.equals("1")
&& mmsc == null){
APN_Id = id;
return true;
}
}
return false;
}
//设置为cmwap网络
public boolean setAPN(int id){
boolean res = false;
ContentResolver resolver = this.getContentResolver();
ContentValues values = new ContentValues();
values.put("apn_id", id);
try{
resolver.update(PREFERRED_APN_URI, values, null, null);
Cursor c = resolver.query(PREFERRED_APN_URI, new String[]{"name", "apn"}, "_id=" + id, null, null);
if(c != null){
res = true;
c.close();
}
}catch(SQLException e){
Log.e("lhl", e.getMessage());
}
return res;
}
//添加cmwap网络
private int addCmwapAPN(){
ContentResolver cr = this.getContentResolver();
ContentValues cv = new ContentValues();
cv.put("name", "cmwap");
cv.put("apn", "cmwap");
cv.put("proxy", "010.000.000.172");
cv.put("port", "80");
cv.put("current", 1);
tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String imsi =tm.getSubscriberId();
if(imsi != null){
if(imsi.startsWith("46000")){
cv.put("numeric", "46000");
cv.put("mcc", "460");
cv.put("mnc", "00");
}
else if(imsi.startsWith("46002")){
cv.put("numeric", "46002");
cv.put("mcc", "460");
cv.put("mnc", "02");
}
}
Cursor c = null;
try{
Uri newRow = cr.insert(APN_TABLE_URI, cv);
if(newRow != null){
c = cr.query(newRow, null, null, null, null);
c.moveToFirst();
String id = c.getString(c.getColumnIndex("_id"));
setAPN(Integer.parseInt(id));
return Integer.parseInt(id);
}
}catch(SQLException e){
Log.e("lhl", e.getMessage());
}
finally{
if(c != null){
c.close();
}
}
return 0;
}
判断逻辑如下:
private Search search;
//网络判断
//如果wifi是打开的,则直接调用就可以了
wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled()){
strAPN = "WIFI";
search.asyncRequest(queryCompanyName, queryDttime, queryBeginCity, queryEndCity, queryBeginCity1, queryEndCity1, strAPN, listener);
return;
}
boolean isCmwap = getCurrentAPN();
boolean wCheckWapApn = checkHasWapAPN();
if(!isCmwap){
if(!wCheckWapApn){
newCreateAPN_Id = addCmwapAPN();
strAPN = "CMNET";
}
else{
strAPN = "CMNET";
}try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
}
else{
strAPN = "CMWAP";
}
//异步调用
search.asyncRequest(woeid, strAPN, listener);
//异步调用类:
package com.search.weather;
import com.search.RequestListener;
import com.search.common.HttpUtils;
import android.os.Bundle;
import android.util.Log;
/**
* 查询类
* @author Administrator
*
*/
public class Search {
private static final String HTTP_URL = "http://sds.XXXXXX.com/getinfo";
private static final String HTTP_WAP_URL = "http://10.0.0.172/getinfo";
private static final String METHOD = "GET";
private static final String LOG_TAG = "XXX";
public String request(String strAPN){
if(woeid != null){
Bundle params = new Bundle();
if (strAPN.equals("CMWAP"))
{
return HttpUtils.openUrl1(HTTP_WAP_URL, METHOD, params,null,strAPN);
}
else
{
return HttpUtils.openUrl(HTTP_URL, METHOD, params,null,strAPN);
}
}else{
return null;
}
}
//异步封装
public void asyncRequest(final String strAPN, final RequestListener listener){
new Thread(new Runnable() {
@Override
public void run() {
try {
String response = request(strAPN);
listener.onComplete(response);
} catch (Exception e) {
Log.e(LOG_TAG, e.getMessage());
listener.onException(e);
}
}
}).start();
}
}
对于CMWAP的方法需要做以下逻辑处理:
public static String openUrl(String url, String method, Bundle params, String enc, String strAPN){
String response = null;
if(method.equals("GET")){
url = url + "?" + encodeUrl(params);
}
try {
//Log.d(LOG_TAG, "Url:"+url);
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("User-Agent", System.getProperties()
.getProperty("http.agent")
);
if (strAPN.equals("CMWAP"))
{
conn.setRequestProperty("X-Online-Host", "sds.XXXXXX.com");//这里需要换成调用的真正的网址
conn.setDoInput(true);
}
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000); //设置超时时间
if(method.equals("POST")){
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.getOutputStream().write(encodeUrl(params).getBytes("UTF-8"));
}
response = read(conn.getInputStream(),enc);
} catch (Exception e) {
//Log.e(LOG_TAG, e.getMessage());
throw new RuntimeException(e.getMessage(),e);
}
return response;
}
-----------------------------------------
注意:加上权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
private static final int CMWAP=2;
private static final int WIFI=3;
public static int getAPNType(Context context){
int netType = -1;
ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if(networkInfo==null){
return netType;
}
int nType = networkInfo.getType();
if(nType==ConnectivityManager.TYPE_MOBILE){
Log.e("networkInfo.getExtraInfo()", "networkInfo.getExtraInfo() is "+networkInfo.getExtraInfo());
if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")){
netType = CMNET;
}
else{
netType = CMWAP;
}
}
else if(nType==ConnectivityManager.TYPE_WIFI){
netType = WIFI;
}
return netType;
}
//获取网络连接管理者
ConnectivityManager connectionManager = (ConnectivityManager)
getSystemService(CONNECTIVITY_SERVICE);
//获取网络的状态信息,有下面三种方式
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
NetworkInfo 有一下方法
getDetailedState():获取详细状态。
getExtraInfo():获取附加信息。
getReason():获取连接失败的原因。
getType():获取网络类型(一般为移动或Wi-Fi)。
getTypeName():获取网络类型名称(一般取值“WIFI”或“MOBILE”)。
isAvailable():判断该网络是否可用。
isConnected():判断是否已经连接。
isConnectedOrConnecting():判断是否已经连接或正在连接。
isFailover():判断是否连接失败。
isRoaming():判断是否漫游
当用wifi上的时候
getType 是WIFI
getExtraInfo是空的当用手机上的时候
getType 是MOBILE
用移动CMNET方式
getExtraInfo 的值是cmnet
用移动CMWAP方式
getExtraInfo 的值是cmwap 但是不在代理的情况下访问普通的网站访问不了
用联通3gwap方式
getExtraInfo 的值是3gwap
用联通3gnet方式
getExtraInfo 的值是3gnet
用联通uniwap方式
getExtraInfo 的值是uniwap
用联通uninet方式
getExtraInfo 的值是uninet
转载:
-----------------------------------------
变量定义
Cursor cursor_current,cursor_need;
Uri PREFERRED_APN_URI, APN_TABLE_URI;
int newCreateAPN_Id;
String APN_Id;
TelephonyManager tm;
WifiManager wifi;
String strAPN;
使用到的函数如下:
//获取当前APN属性
private boolean getCurrentAPN(){
PREFERRED_APN_URI = Uri.parse("content://telephony/carriers/preferapn");
cursor_current = this.getContentResolver().query(PREFERRED_APN_URI, null, null, null, null);
if(cursor_current != null && cursor_current.moveToFirst()){
String proxy = cursor_current.getString(cursor_current.getColumnIndex("proxy"));
String apn = cursor_current.getString(cursor_current.getColumnIndex("apn"));
String port = cursor_current.getString(cursor_current.getColumnIndex("port"));
String current = cursor_current.getString(cursor_current.getColumnIndex("current"));
if(proxy == null || apn == null || port == null || current == null
|| proxy.equals("") || port.equals("")){
return false;
}
if((proxy.equals("10.0.0.172") || proxy.equals("010.000.000.172")) && port.equals("80") &&
apn.equals("cmwap") && current.equals("1")){
return true;
}
}
return false;
}
//检查是否存在cmwap网络
private boolean checkHasWapAPN(){
APN_TABLE_URI = Uri.parse("content://telephony/carriers");
cursor_need = this.getContentResolver().query(APN_TABLE_URI, null, null, null, null);
while(cursor_need != null && cursor_need.moveToNext()){
String id = cursor_need.getString(cursor_need.getColumnIndex("_id"));
String port = cursor_need.getString(cursor_need.getColumnIndex("port"));
String proxy = cursor_need.getString(cursor_need.getColumnIndex("proxy"));
String current = cursor_need.getString(cursor_need.getColumnIndex("current"));
String mmsc = cursor_need.getString(cursor_need.getColumnIndex("mmsc"));
if(proxy == null || port == null || current == null){
continue;
}
if((proxy.equals("10.0.0.172") || proxy.equals("010.000.000.172"))
&& port.equals("80") && current.equals("1")
&& mmsc == null){
APN_Id = id;
return true;
}
}
return false;
}
//设置为cmwap网络
public boolean setAPN(int id){
boolean res = false;
ContentResolver resolver = this.getContentResolver();
ContentValues values = new ContentValues();
values.put("apn_id", id);
try{
resolver.update(PREFERRED_APN_URI, values, null, null);
Cursor c = resolver.query(PREFERRED_APN_URI, new String[]{"name", "apn"}, "_id=" + id, null, null);
if(c != null){
res = true;
c.close();
}
}catch(SQLException e){
Log.e("lhl", e.getMessage());
}
return res;
}
//添加cmwap网络
private int addCmwapAPN(){
ContentResolver cr = this.getContentResolver();
ContentValues cv = new ContentValues();
cv.put("name", "cmwap");
cv.put("apn", "cmwap");
cv.put("proxy", "010.000.000.172");
cv.put("port", "80");
cv.put("current", 1);
tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String imsi =tm.getSubscriberId();
if(imsi != null){
if(imsi.startsWith("46000")){
cv.put("numeric", "46000");
cv.put("mcc", "460");
cv.put("mnc", "00");
}
else if(imsi.startsWith("46002")){
cv.put("numeric", "46002");
cv.put("mcc", "460");
cv.put("mnc", "02");
}
}
Cursor c = null;
try{
Uri newRow = cr.insert(APN_TABLE_URI, cv);
if(newRow != null){
c = cr.query(newRow, null, null, null, null);
c.moveToFirst();
String id = c.getString(c.getColumnIndex("_id"));
setAPN(Integer.parseInt(id));
return Integer.parseInt(id);
}
}catch(SQLException e){
Log.e("lhl", e.getMessage());
}
finally{
if(c != null){
c.close();
}
}
return 0;
}
判断逻辑如下:
private Search search;
//网络判断
//如果wifi是打开的,则直接调用就可以了
wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled()){
strAPN = "WIFI";
search.asyncRequest(queryCompanyName, queryDttime, queryBeginCity, queryEndCity, queryBeginCity1, queryEndCity1, strAPN, listener);
return;
}
boolean isCmwap = getCurrentAPN();
boolean wCheckWapApn = checkHasWapAPN();
if(!isCmwap){
if(!wCheckWapApn){
newCreateAPN_Id = addCmwapAPN();
strAPN = "CMNET";
}
else{
strAPN = "CMNET";
}try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
}
else{
strAPN = "CMWAP";
}
//异步调用
search.asyncRequest(woeid, strAPN, listener);
//异步调用类:
package com.search.weather;
import com.search.RequestListener;
import com.search.common.HttpUtils;
import android.os.Bundle;
import android.util.Log;
/**
* 查询类
* @author Administrator
*
*/
public class Search {
private static final String HTTP_URL = "http://sds.XXXXXX.com/getinfo";
private static final String HTTP_WAP_URL = "http://10.0.0.172/getinfo";
private static final String METHOD = "GET";
private static final String LOG_TAG = "XXX";
public String request(String strAPN){
if(woeid != null){
Bundle params = new Bundle();
if (strAPN.equals("CMWAP"))
{
return HttpUtils.openUrl1(HTTP_WAP_URL, METHOD, params,null,strAPN);
}
else
{
return HttpUtils.openUrl(HTTP_URL, METHOD, params,null,strAPN);
}
}else{
return null;
}
}
//异步封装
public void asyncRequest(final String strAPN, final RequestListener listener){
new Thread(new Runnable() {
@Override
public void run() {
try {
String response = request(strAPN);
listener.onComplete(response);
} catch (Exception e) {
Log.e(LOG_TAG, e.getMessage());
listener.onException(e);
}
}
}).start();
}
}
对于CMWAP的方法需要做以下逻辑处理:
public static String openUrl(String url, String method, Bundle params, String enc, String strAPN){
String response = null;
if(method.equals("GET")){
url = url + "?" + encodeUrl(params);
}
try {
//Log.d(LOG_TAG, "Url:"+url);
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("User-Agent", System.getProperties()
.getProperty("http.agent")
);
if (strAPN.equals("CMWAP"))
{
conn.setRequestProperty("X-Online-Host", "sds.XXXXXX.com");//这里需要换成调用的真正的网址
conn.setDoInput(true);
}
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000); //设置超时时间
if(method.equals("POST")){
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.getOutputStream().write(encodeUrl(params).getBytes("UTF-8"));
}
response = read(conn.getInputStream(),enc);
} catch (Exception e) {
//Log.e(LOG_TAG, e.getMessage());
throw new RuntimeException(e.getMessage(),e);
}
return response;
}
-----------------------------------------
注意:加上权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
发表评论
-
App开发一些总结
2016-04-05 17:48 2596架构因人而异,不同的架构师大多会有不同的看法;架构也因项目 ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4927最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
android 操作文件
2012-08-30 11:15 1049package com.liyong; import jav ... -
android获取短信内容
2012-08-29 23:10 1551自己研究: package com.liyong.data; ... -
Android中的日历操作
2012-08-29 13:01 3017日历的操作方法,这里主要用到了ContentProiver的知 ... -
android实现手势缩放、移动图片
2012-08-28 19:37 9280新建一个触摸监听器类 package com.liyong. ... -
怎样把信息绘制到图片中并且保存到本地硬盘上
2012-08-27 12:53 1369自己研究吧。。。 //解释一下由于我们不是绘制到手机屏幕上所 ... -
关于ListView中notifyDataSetChanged()刷新数据不更新原因
2012-08-26 21:41 50320使用Listview的时候: 当要动态显示更改后的数据(例如数 ... -
android中获取联系人相关信息
2012-08-26 18:42 1680自己看........... public static ... -
修改Android中strings.xml文件, 动态改变数据
2012-08-24 18:25 10846有些朋友可能会动态的修改Android中strings.xml ... -
android内存泄漏
2012-07-25 21:04 1709尽量不要使用setImageBitmap或setImageRe ... -
将程序安装到SD卡
2012-04-28 22:11 883Android 2.2系统的一大改进就是通过Move to S ... -
一个很好的加密解密字符串
2012-04-28 22:11 1137package net.sf.andhsli.hotspotl ... -
获取手机位置
2012-04-28 22:11 1009private double[] getGPS() { Lo ... -
获取手机位置
2012-05-04 09:39 1098private double[] getGPS() { Lo ... -
查看内存存储
2012-05-03 10:05 1091import java.io.File; import a ... -
获取本机电话号码
2012-05-03 10:04 1112private String getMyPhoneNumber ... -
发送彩信
2012-05-03 10:04 1007Uri uri = Uri.parse(\"cont ... -
发送彩信
2012-05-02 09:26 850Uri uri = Uri.parse(\"cont ...
相关推荐
Android_WIFI,CMWAP,CMNET的自动判断访问 Android_WIFI,CMWAP,CMNET的自动判断访问 Android_WIFI,CMWAP,CMNET的自动判断访问 Android_WIFI,CMWAP,CMNET的自动判断访问
标题提到的"AndroidWIFI,CMWAP,CMNET的自动判断访问"是指在Android设备上如何根据不同的网络连接方式(如Wi-Fi、CMWAP和CMNET)来适配网络请求。在描述中提到了在开发过程中遇到的问题,即HTTP服务在某些网络环境下...
CMWAP 和 CMNET 的主要区别与适用范围 作为中国特色的手机上网两种方式,CMWAP 和 CMNET 是中国移动人为划分的两个 GPRS 接入方式。CMWAP 是为手机 WAP 上网而设立的,主要是为了手机用户上网,而 CMNET 则主要是为...
本文将深入探讨J2ME中的一些常见问题,包括Push技术、网络连接(CMNET与CMWAP)、Record Management System(RMS)以及字符转码等核心概念。 首先,让我们讨论Push技术。在J2ME中,Push是指服务器主动向客户端发送...
【WAP、WIFI、CMWAP、CMNET上网方式的区别与联系】 WAP、WIFI、CMWAP和CMNET是四种常见的互联网接入方式,它们各有特点,适用于不同的场景和设备。 首先,WAP(Wireless Application Protocol)是一种无线应用协议...
标题“移动G3客户端(CMNET CMWAP皆可)”指的是中国移动提供的3G网络服务,G3客户端是用于连接这两种网络方式(CMNET和CMWAP)的应用程序。CMNET是一种更开放的接入方式,通常提供全互联网访问,而CMWAP则是针对移动...
综上所述,WAP、WIFI、CMWAP和CMNET代表了不同的网络接入方式和协议,各有其特点和适用场景。了解这些差异有助于用户根据自身需求选择合适的上网方式,并合理控制费用。在使用过程中,还应注意网络设置和安全问题,...
由广州市建乔自动化科技有限公司提供 MAStudio在2002年开始立项,最初从一个煤矿行业的项目,实现通过pda无线监控瓦斯数据的监控做起。一直到2004年形成了1.0版本;在煤矿行业得到了大力的发展。...
剖析cmwap和cmnet接入点区别和应用 一、cmwap和cmnet的概念 cmwap和cmnet是中国移动提供的两种GPRS接入点。cmwap是一种基于内网的接入点,使用A类地址(例如10.x.x.x),只能访问中国移动的WAP网络,而cmnet则是一...
早期用GPRS写的程序,C2C.exe可以实现劲舞团,魔兽世界等TCP协议的程序通过cmwap游戏。cmwap.exe可以使qq通过cmwap上网时不会掉线。根据地方不同,cmwap可能会有不同情况,有的地方限制严格,cmwap.exe不一定有用。...
《GPRS数据传输控制:CMWAP与CMNET解析》 GPRS(General Packet Radio Service)是一种基于GSM网络的数据传输技术,它允许移动设备通过蜂窝网络进行高速数据通信。在GPRS数据传输中,有两种主要的接入点:CMNET和...
本文主要通过实例形式说明了Android获取网络链接状态的方法。具体内容如下: 就目前的Android手机来说,可能存在如下5种网络状态: —-无网络(这种状态可能是因为手机停机,网络没有开启,信号不好等原因) —-...
相比于CMNET,CMWAP通常用于浏览网页、收发邮件等轻量级应用,因为它的数据流量费用较低。 二、Android系统中的APN设置 在Android设备上,APN设置用于管理数据连接,包括网络类型、用户名、密码、服务器地址等信息...
在这个场景中,我们关注的是J2ME如何实现自动连接到互联网,无论是通过CMWAP还是CMNET这两种常见的GPRS(General Packet Radio Service)接入点。 CMWAP和CMNET是中国移动提供的两种不同的网络接入方式。CMWAP主要...
Android 手机设置CMWAP 接入点 设置--- 无限控件---移动网络设置---接入点名称----再按菜单---选择新apn 步,设置CMNET 上网APN 新建 APN 1.名称:cmnet 2.APN:cmnet 3.APN 类型:default 就只...
用于2011年普通高考录取状态查询,把...只要手机能够上网(cmnet,cmwap均可),就能第一时间知道录取状态,省去了上网的麻烦(http://cx.e21.cn/没有提供wap站点,对于非智能机手机用户,可能用手机浏览器没法实现查询)。
在Android编程中,获取网络连接方式以及判断手机卡所属运营商是常见的需求,这涉及到对设备网络状态和SIM卡信息的获取。以下将详细介绍这两种方法。 首先,获取网络连接方式主要目的是确定设备当前是通过哪种方式...
本文将深入探讨四种常见的无线网络接入方式:WAP、WIFI、CMWAP和CMNET,以及它们之间的区别和联系。 首先,WAP(Wireless Application Protocol)是一种无线网络协议,主要用于早期的移动设备上,提供简化版的网页...
此产品是将www.renren.com中的一些用户最常用最基本的功能移植到手机客户端中(移植的功能会在每一次发布过程中逐渐增多)并且还增加了根据android手机特有的功能开发的新产品。...支持 cmnet cmwap wifi连接方式