中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ConnectivityManager簡介之網絡連接狀態

發布時間:2020-06-27 20:45:10 來源:網絡 閱讀:630 作者:tml414 欄目:移動開發
  1. /** 

  2.   * 測試ConnectivityManager 

  3.   * ConnectivityManager主要管理和網絡連接相關的操作 

  4.   * 相關的TelephonyManager則管理和手機、運營商等的相關信息;WifiManager則管理和wifi相關的信息。 

  5.   * 想訪問網絡狀態,首先得添加權限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  

  6.   * NetworkInfo類包含了對wifi和mobile兩種網絡模式連接的詳細描述,通過其getState()方法獲取的State對象則代表著 

  7.   * 連接成功與否等狀態。 

  8.   *  

  9.   */  


  1. public void testConnectivityManager() {  

  2.   ConnectivityManager connManager = (ConnectivityManager) this  

  3.     .getSystemService(CONNECTIVITY_SERVICE);  

  4.   // 獲取代表聯網狀態的NetWorkInfo對象  

  5.   NetworkInfo networkInfo = connManager.getActiveNetworkInfo();  

  6.   // 獲取當前的網絡連接是否可用  

  7.   boolean available = networkInfo.isAvailable();  

  8.   if(available){  

  9.    Log.i("通知""當前的網絡連接可用");  

  10.   }  

  11.   else{  

  12.    Log.i("通知""當前的網絡連接可用");  

  13.   }  

  14.   

  15.   State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  

  16.   if(State.CONNECTED==state){  

  17.    Log.i("通知""GPRS網絡已連接");  

  18.   }  

  19.     

  20.   state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  

  21.   if(State.CONNECTED==state){  

  22.    Log.i("通知""WIFI網絡已連接");  

  23.   }  

  24.     

  25.   // 跳轉到無線網絡設置界面  

  26.   startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  

  27.   // 跳轉到無限wifi網絡設置界面  

  28.   startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));  

  29.     

  30.  }  


(注意:上面的代碼只是示例,直接運行的話有待修改。)

上面判斷網絡類型的方法只是為了展示用法,其實完全可以通過networkInfo.getType()的返回值來判斷。

 如:

[java] view plaincopy

  1. Context context = listActivity.getApplicationContext();//獲取應用上下文  

  2. ConnectivityManager connectivityManager = (ConnectivityManager) context  

  3. .getSystemService(Context.CONNECTIVITY_SERVICE);//獲取系統的連接服務  

  4. NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//獲取網絡的連接情況  

  5. if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){  

  6. //判斷WIFI網  

  7. }else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {  

  8. //判斷3G網  

  9. }  



android.util.Log常用的方法有以下5個:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根據首字母對應VERBOSEDEBUG,INFOWARNERROR

1、Log.v 的調試顏色為黑色的,任何消息都會輸出,這里的v代表verbose啰嗦的意思,平時使用就是Log.v("","");

2、Log.d的輸出顏色是藍色的,僅輸出debug調試的意思,但他會輸出上層的信息,過濾起來可以通過DDMS的Logcat標簽來選擇.

3、Log.i的輸出為綠色,一般提示性的消息information,它不會輸出Log.v和Log.d的信息,但會顯示i、w和e的信息

4、Log.w的意思為橙色,可以看作為warning警告,一般需要我們注意優化Android代碼,同時選擇它后還會輸出Log.e的信息。

5、Log.e為紅色,可以想到error錯誤,這里僅顯示紅色的錯誤信息,這些錯誤就需要我們認真的分析,查看棧的信息了。

注意:不同的打印方法在使用時都是某個方法帶上(String tag, String msg)參數,tag表示的是打印信息的標簽,msg表示的是需要打印的信息。

下面是我做的一個簡單的LogDemo(Step By Step):

Step 1:準備工作(打開LogCat視窗).

 啟動Eclipse,在Window->Show View會出來一個對話框,當我們點擊Ok按鈕時,會在控制臺窗口出現LogCat視窗.如下圖:

ConnectivityManager簡介之網絡連接狀態

ConnectivityManager簡介之網絡連接狀態

Step 2:新建一個Android工程,命名為LogDemo.

Step 3:設計UI界面,我們在這里就加了一個Button按鈕(點擊按鈕出現Log日志信息).

Main.xml代碼如下:

 

[xhtml] view plaincopy

  1. <?xml version="1.0" encoding="utf-8"?>  

  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  

  3.     android:orientation="vertical"  

  4.     android:layout_width="fill_parent"  

  5.     android:layout_height="fill_parent"  

  6.     >  

  7. <TextView    

  8.     android:layout_width="fill_parent"   

  9.     android:layout_height="wrap_content"   

  10.     android:text="@string/hello"  

  11.     />  

  12. <Button  

  13.  android:id="@+id/bt"  

  14.  android:layout_width="wrap_content"  

  15.  android:layout_height="wrap_content"  

  16.  android:text="Presse Me Look Log"  

  17. />  

  18. </LinearLayout>  


Step 4:設計主類LogDemo.java,代碼如下:

[java] view plaincopy

  1. public class LogDemo extends Activity {  

  2.     

  3.  private static final String ACTIVITY_TAG="LogDemo";  

  4.  private Button bt;  

  5.     public void onCreate(Bundle savedInstanceState) {  

  6.         super.onCreate(savedInstanceState);  

  7.         setContentView(R.layout.main);  

  8.         //通過findViewById找到Button資源  

  9.         bt = (Button)findViewById(R.id.bt);  

  10.         //增加事件響應  

  11.         bt.setOnClickListener(new Button.OnClickListener(){  

  12.     @Override  

  13.    public void onClick(View v) {  

  14.     Log.v(LogDemo.ACTIVITY_TAG, "This is Verbose.");  

  15.     Log.d(LogDemo.ACTIVITY_TAG, "This is Debug.");  

  16.     Log.i(LogDemo.ACTIVITY_TAG, "This is Information");  

  17.     Log.w(LogDemo.ACTIVITY_TAG, "This is Warnning.");  

  18.     Log.e(LogDemo.ACTIVITY_TAG, "This is Error.");  

  19.    }  

  20.            

  21.         });  

  22.     }  

  23.           

  24. }  


Step 5:運行LogDemo工程,效果如下:

ConnectivityManager簡介之網絡連接狀態

當我們點擊按鈕時,會觸發事件,在Logcat視窗下有如下效果:

ConnectivityManager簡介之網絡連接狀態


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

花莲市| 潼南县| 磴口县| 黑龙江省| 海安县| 仁寿县| 宿迁市| 冕宁县| 扶余县| 乌拉特前旗| 泰来县| 永顺县| 普宁市| 宜君县| 留坝县| 西盟| 迭部县| 贵州省| 金塔县| 佛坪县| 昌都县| 新津县| 安远县| 永安市| 历史| 北流市| 虞城县| 天镇县| 永德县| 章丘市| 灵武市| 浏阳市| 九龙城区| 宁阳县| 武川县| 勐海县| 宁波市| 东安县| 洛川县| 同仁县| 沙田区|