A. Android判斷是否有網路連接,如果沒有開啟移動網路
protected boolean CheckNetwork() {
// TODO Auto-generated method stub
boolean flag = false;
ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (cwjManager.getActiveNetworkInfo() != null)
flag = cwjManager.getActiveNetworkInfo().isAvailable();
if (!flag) {
Builder b = new AlertDialog.Builder(this).setTitle("沒有可用的網路").setMessage("請開啟GPRS或WIFI網路連接");
b.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent mIntent = new Intent("/");
ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
startActivity(mIntent);
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub dialog.cancel();
}
}).create();
b.show();
}
return flag;
}
B. Android如何獲取網路連接狀態及怎樣調用網路配置界面
1. Android獲取網路連接狀態的代碼如下:
public boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}
2.轉跳到網路設置界面:
Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS");
startActivity(wifiSettingsIntent);
C. android怎麼獲取網路運營商
android 獲取sim卡運營商信息
TelephonyManager tm = (TelephonyManager)Context.getSystemService(Context.TELEPHONY_SERVICE); TelephonyManager 的使用 TelephonyManager 提供設備上獲取通訊服務信息的入口,應用程序使用這個類的方法來獲取電話的服務商或者狀態。程序也可以注冊一個監聽器來監聽電話狀態的改變。 不需要直接實例化這個類,使用Context.getSystemService(Context.TELEPHONY_SERVICE)來獲取這個類的實例。
注意:一些電話信息需要相應的許可權。 方法無效
getSimOperatorName() Returns the Service Provider Name (SPN). // 獲取服務提供商名字,比如電信,聯通,移動 用下面的方法 第一種方法: 獲取手機的IMSI碼,並判斷是中國移動/中國聯通/中國電信
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
/** 獲取SIM卡的IMSI碼 * SIM卡唯一標識:IMSI 國際移動用戶識別碼(IMSI:International Mobile Subscriber Identification Number)是區別移動用戶的標志, * 儲存在SIM卡中,可用於區別移動用戶的有效信息。
IMSI由MCC、MNC、MSIN組成,其中MCC為移動國家號碼,由3位數字組成, * 唯一地識別移動客戶所屬的國家,我國為460;MNC為網路id,由2位數字組成, * 用於識別移動客戶所歸屬的移動網路,中國移動為00,中國聯通為01,中國電信為03;
MSIN為移動客戶識別碼,採用等長11位數字構成。 *
唯一地識別國內GSM移動通信網中移動客戶。所以要區分是移動還是聯通,只需取得SIM卡中的MNC欄位即可 */
String imsi = telManager.getSubscriberId();
if(imsi!=null){ if(imsi.startsWith(「46000″) || imsi.startsWith(「46002″))
{//因為移動網路編號46000下的IMSI已經用完,所以虛擬了一個46002編號,134/159號段使用了此編號 //中國移動
}else if(imsi.startsWith(「46001″)){
//中國聯通
}else if(imsi.startsWith(「46003″)){
//中國電信
} }
第二種方法 TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String operator = telManager.getSimOperator();
if(operator!=null){ if(operator.equals(「46000″) || operator.equals(「46002″)|| operator.equals(「46007″)){
//中國移動
}else if(operator.equals(「46001″)){
//中國聯通
}else if(operator.equals(「46003″)){
//中國電信
} }
在文件AndroidManifest.xml中添加許可權 其他方法具體使用方法請查看API 文檔TelephonyManager中方法說明。
在文件 AndroidManifest.xml 中添加許可權 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
TelephonyManager tel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE);
String simOperator = tel.getSimOperator();
IMSI共有15位,其結構如下: MCC+MNC+MIN MCC:Mobile Country Code,移動國家碼,共3位,中國為460; MNC:Mobile Network Code,移動網路碼,共2位,電信03,移動02,聯通GSM 01,一個典型的IMSI號碼為460030912121001; MIN共有10位,其結構如下: 09+M0M1M2M3+ABCD 其中的M0M1M2M3和MDN號碼中的H0H1H2H3可存在對應關系,ABCD四位為自由分配。 可以看出IMSI在MIN號碼前加了MCC,可以區別出每個用戶的來自的國家,因此可以實現國際漫遊。在同一個國家內,如果有多個CDMA運營商,可以通過MNC來進行區別.
功能 說明
getCellLocation() 返回的單元格位置的裝置 ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION
getDeviceId() 返回的IMEI / MEID的設備。 如果該設備是GSM設備 然後IMEI號將被退回,如果該設備是一個CDMA設備然後MEID 將被退回 READ_PHONE_STATE
getLine1Number() 返回設備的電話號碼(MSISDN號碼) READ_PHONE_STATE
getNetworkOperatorName() 返回注冊的網路運營商的名字
getNetworkOperator() 返回的MCC +跨國公司的注冊網路運營商
getNetworkCountryIso() 返回注冊的網路運營商的國家代碼
getSimCountryIso() 返回SIM卡運營商的國家代碼 READ_PHONE_STATE
getSimOperator() 返回SIM卡運營商的單個核細胞數+冶 READ_PHONE_STATE
getSimOperatorName() 返回SIM卡運營商的名字 READ_PHONE_STATE
getSimSerialNumber() 返回SIM卡的序列號 READ_PHONE_STATE
getNetworkType() 返回網路設備可用的類型。 這將是 下列其中一個值:
TelephonyManager.NETWORK_TYPE_UNKNOWN TelephonyManager.NETWORK_TYPE_GPRS TelephonyManager.NETWORK_TYPE_EDGE TelephonyManager.NETWORK_TYPE_UMTS READ_PHONE_STATE getPhoneType() 返回設備的類型。 這將是以下值之一: TelephonyManager.PHONE_TYPE_NONE TelephonyManager.PHONE_TYPE_GSM TelephonyManager.PHONE_TYPE_CDMA READ_PHONE_STATE getSubscriberId() 返回用戶識別碼(的IMSI)的設備 READ_PHONE_STATE
getNeighboringCellInfo() 返回NeighboringCellInfo類代表名單 相鄰小區的信息,如果可用,否則將 返回null ACCESS_COARSE_UPDATES
在我們有的時候需要可能需要自己寫一個狀態欄顯示手機的的當前網路類似網路信號的問題這些需求先說說思路吧。
1.這個裡面涉及一個核心的api :PhoneStateListener
讓某個類繼承PhoneStateListener 重寫:onSignalStrengthsChanged 通過傳入的SignalStrength getLevel()獲取信號強度 判斷網路是4G還是3G或者是2G 通過TelephoneManager getNetWorkType獲取
關於顯示移動信號顯示就這幾個方法,現在需要冬天更改因為手機變化的怎麼做呢那麼介紹另外一個API:SubscriptionManager
關於SubscriptionManager :
1.對象實例化: SubscriptionManager mSubscriptionManager = SubscriptionManager.from(Conrtext )返回一個實例對象
SubscriptionInfo sub0 = mSubscriptionManager.(0);
if(null != sub0) {
mPhoneStateListener = new Sim1SignalStrengthsListener(sub0.getSubscriptionId());
mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}
E. android 如何判斷當前網路比如說是WI-FI還是移動
先取的所有連接 NetworkInfo[] networkInfos = (); 對每一個networkInfo 判斷 networkInfogetState() == NetworkInfoStateCONNECTED 判斷哪個是正在連接著的 然後用 networkInfogetType() 獲得 是 Conandroid 如何判斷當前網路?比如說是WI-FI還是移動
F. android 如何判斷當前網路比如說是WI-FI還是移動網路 在線等啊
安卓系統的手機么? 一般都會在屏幕最上面,就是顯示電池上面那裡會有圖標。如果是WLAN的話 它就會顯示無線的圖標。移動網路就是一個E字!!!
G. android手機怎麼連移動網路
如果你開通了流量的話,不能上網可能就是你手機設置的問題了,你可以這樣設置一下
設置——無線和網路——移動網路——接入點名稱
如果裡面沒有移動的設置可以先擇的話,你可以這樣操作:
按下MENU鍵,然後選擇 新建APN, 這裡面的設置就和你平常一樣設置成移動的就可以了,設置完以後選擇你剛才設置的就可以上網了
希望能幫到你
H. android判斷移動網路是否打開
Android 判斷網路狀態這一應用技巧在實際應中是比較重要的。那麼,在Android操作系統中,如何能夠正確的判斷我們所連接的網路是否斷開:
public class ConnectionChangeReceiver extends
BroadcastReceiver
{
@Override
public void onReceive( Context context, Intent intent )
{
ConnectivityManager connectivityManager =
(ConnectivityManager) context.getSystemService
( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.
getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo
( ConnectivityManager.TYPE_MOBILE );
if ( activeNetInfo != null )
{
Toast.makeText( context, "Active Network Type : " +
activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
if( mobNetInfo != null )
{
Toast.makeText( context, "Mobile Network Type : " +
mobNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
}
}
< !-- Needed to check when the network connection changes -->
< uses-permission android:name="android.permission.
ACCESS_NETWORK_STATE"/>
< receiver android:name="com.blackboard.androidtest.
receiver.ConnectionChangeReceiver"
android:label="NetworkConnection">
< intent-filter>
< action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
< /intent-filter>
< /receiver>
I. android 判斷當前是否有網路
NetworkInfo networkInfo = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE).getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()){
//有網路以及網路類型
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI){
//wifi
}else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE){
//移動網路
}
} else {
//無網路
}
==希望能對你有用,望採納
J. android 開發.怎麼訪問移動網路
APN(Access Point Name),即「接入點名稱」,用來標識GPRS的業務種類,目前分為兩大類:CMWAP(通過GPRS訪問WAP業務)、CMNET(除了WAP以外的服務目前都用CMNET,比如連接網際網路等)。 APN的英文全稱是Access Point Name,中文全稱叫接入點,是您在通過手機上網時必須配置的一個參數,它決定了您的手機通過哪種接入方式來訪問網路。 移動手機的默認上網配置有兩種:CMWAP和CMNET。一些使用移動辦公的大客戶,通常會使用專用APN,其接入點隨意定義,只要和該省運營商其他APN不沖突即可。 CMWAP也叫移動夢網,通過該接入點可接入一個比較大的移動私網,網內有大量的手機應用下載及資源訪問。因為CMWAP不接入互聯網,只接入移動運營商的私網,所以流量費用比較低廉。 CMNET也叫GPRS連接互聯網,通常每個省的運營商會提供若干個Internet出口以供CMNET撥號用戶使用。其流量費用較CMWAP要高一些。 目前國內銷售的手機,如果是非智能機,通常已配置好CMWAP連接,智能機通常會配置CMWAP和CMNET連接。如需手動添加這些配置,請參考手機說明書。 專有APN在功能上可以和Internet的VPN做類比,實際上他就是基於GPRS的VPN網路。 專有APN常見組網方式 1,運營商部署一條專線接入到企業的網路中,局端和企業端路由器之間採用私有IP進行連接。 2,局端互連路由器與GGSN採用GRE隧道連接。 專有APN的幾個重要特點: 1,除非運營商分配一個Internet IP地址,否則計算機沒有任何辦法通過Internet訪問該APN中的主機。 2,只有手機卡號在APN中的白名單之列,該手機才可以接入該APN。 3,企業客戶可以建立一套RADIUS和DHCP伺服器,GGSN向RADIUS伺服器提供用戶主叫號碼,採用主叫號碼和用戶賬號相結合的認證方式;用戶通過認證後由DHCP伺服器分配企業內部的靜態IP地址。補充:該認證方式不一定適合於每個省的運營商,這取決於該省運營商的APN管理平台。 GPRS專網系統終端上網登錄伺服器平台的流程為: 1)用戶發出GPRS登錄請求,請求中包括由運營商為GPRS專網系統專門分配的專網APN; 2)根據請求中的APN,SGSN向DNS伺服器發出查詢請求,找到與企業伺服器平台連接的GGSN,並將用戶請求通過GTP隧道封裝送給GGSN; 3)GGSN將用戶認證信息(包括手機號碼、用戶賬號、密碼等)通過專線送至Radius進行認證; 4)Radius認證伺服器看到手機號等認證信息,確認是合法用戶發來的請求,向DHCP伺服器請求分配用戶地址; 5)Radius認證通過後,由Radius向GGSN發送攜帶用戶地址的確認信息; 6)用戶得到了IP地址,就可以攜帶數據包,對GPRS專網系統信息查詢和業務處理平台進行訪問。