/**
創(chuàng)新互聯(lián)專注于貴南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供貴南營(yíng)銷型網(wǎng)站建設(shè),貴南網(wǎng)站制作、貴南網(wǎng)頁(yè)設(shè)計(jì)、貴南網(wǎng)站官網(wǎng)定制、微信小程序定制開(kāi)發(fā)服務(wù),打造貴南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供貴南網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
* 測(cè)試ConnectivityManager
* ConnectivityManager主要管理和網(wǎng)絡(luò)連接相關(guān)的操作
* 相關(guān)的TelephonyManager則管理和手機(jī)、運(yùn)營(yíng)商等的相關(guān)信息;WifiManager則管理和wifi相關(guān)的信息。
* 想訪問(wèn)網(wǎng)絡(luò)狀態(tài),首先得添加權(quán)限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
* NetworkInfo類包含了對(duì)wifi和mobile兩種網(wǎng)絡(luò)模式連接的詳細(xì)描述,通過(guò)其getState()方法獲取的State對(duì)象則代表著
* 連接成功與否等狀態(tài)。
*
*/
public void testConnectivityManager() {
ConnectivityManager connManager = (ConnectivityManager) this
.getSystemService(CONNECTIVITY_SERVICE);
// 獲取代表聯(lián)網(wǎng)狀態(tài)的NetWorkInfo對(duì)象
NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
// 獲取當(dāng)前的網(wǎng)絡(luò)連接是否可用
boolean available = networkInfo.isAvailable();
if(available){
Log.i("通知", "當(dāng)前的網(wǎng)絡(luò)連接可用");
}
else{
Log.i("通知", "當(dāng)前的網(wǎng)絡(luò)連接可用");
}
State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
if(State.CONNECTED==state){
Log.i("通知", "GPRS網(wǎng)絡(luò)已連接");
}
state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(State.CONNECTED==state){
Log.i("通知", "WIFI網(wǎng)絡(luò)已連接");
}
// 跳轉(zhuǎn)到無(wú)線網(wǎng)絡(luò)設(shè)置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
// 跳轉(zhuǎn)到無(wú)限wifi網(wǎng)絡(luò)設(shè)置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
}
(注意:上面的代碼只是示例,直接運(yùn)行的話有待修改。)
上面判斷網(wǎng)絡(luò)類型的方法只是為了展示用法,其實(shí)完全可以通過(guò)networkInfo.getType()的返回值來(lái)判斷。
如:
[java] view plaincopy
Context context = listActivity.getApplicationContext();//獲取應(yīng)用上下文
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);//獲取系統(tǒng)的連接服務(wù)
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//獲取網(wǎng)絡(luò)的連接情況
if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){
//判斷WIFI網(wǎng)
}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {
//判斷3G網(wǎng)
}
android.util.Log常用的方法有以下5個(gè):Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根據(jù)首字母對(duì)應(yīng)VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的調(diào)試顏色為黑色的,任何消息都會(huì)輸出,這里的v代表verbose啰嗦的意思,平時(shí)使用就是Log.v("","");
2、Log.d的輸出顏色是藍(lán)色的,僅輸出debug調(diào)試的意思,但他會(huì)輸出上層的信息,過(guò)濾起來(lái)可以通過(guò)DDMS的Logcat標(biāo)簽來(lái)選擇.
3、Log.i的輸出為綠色,一般提示性的消息information,它不會(huì)輸出Log.v和Log.d的信息,但會(huì)顯示i、w和e的信息
4、Log.w的意思為橙色,可以看作為warning警告,一般需要我們注意優(yōu)化Android代碼,同時(shí)選擇它后還會(huì)輸出Log.e的信息。
5、Log.e為紅色,可以想到error錯(cuò)誤,這里僅顯示紅色的錯(cuò)誤信息,這些錯(cuò)誤就需要我們認(rèn)真的分析,查看棧的信息了。
注意:不同的打印方法在使用時(shí)都是某個(gè)方法帶上(String tag, String msg)參數(shù),tag表示的是打印信息的標(biāo)簽,msg表示的是需要打印的信息。
下面是我做的一個(gè)簡(jiǎn)單的LogDemo(Step By Step):
Step 1:準(zhǔn)備工作(打開(kāi)LogCat視窗).
啟動(dòng)Eclipse,在Window->Show View會(huì)出來(lái)一個(gè)對(duì)話框,當(dāng)我們點(diǎn)擊Ok按鈕時(shí),會(huì)在控制臺(tái)窗口出現(xiàn)LogCat視窗.如下圖:
Step 2:新建一個(gè)Android工程,命名為LogDemo.
Step 3:設(shè)計(jì)UI界面,我們?cè)谶@里就加了一個(gè)Button按鈕(點(diǎn)擊按鈕出現(xiàn)Log日志信息).
Main.xml代碼如下:
[xhtml] view plaincopy
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Presse Me Look Log"
/>
</LinearLayout>
Step 4:設(shè)計(jì)主類LogDemo.java,代碼如下:
[java] view plaincopy
public class LogDemo extends Activity {
private static final String ACTIVITY_TAG="LogDemo";
private Button bt;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通過(guò)findViewById找到Button資源
bt = (Button)findViewById(R.id.bt);
//增加事件響應(yīng)
bt.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
Log.v(LogDemo.ACTIVITY_TAG, "This is Verbose.");
Log.d(LogDemo.ACTIVITY_TAG, "This is Debug.");
Log.i(LogDemo.ACTIVITY_TAG, "This is Information");
Log.w(LogDemo.ACTIVITY_TAG, "This is Warnning.");
Log.e(LogDemo.ACTIVITY_TAG, "This is Error.");
}
});
}
}
Step 5:運(yùn)行LogDemo工程,效果如下:
當(dāng)我們點(diǎn)擊按鈕時(shí),會(huì)觸發(fā)事件,在Logcat視窗下有如下效果:
文章題目:ConnectivityManager簡(jiǎn)介之網(wǎng)絡(luò)連接狀態(tài)
URL鏈接:http://aaarwkj.com/article12/pdesgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、靜態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、全網(wǎng)營(yíng)銷推廣、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)