Android 判斷是否有手機是否有網絡


新建項目 GPRS

簡單的布局

給 button 綁定點擊事件,點擊控件會產生兩種可能,如果有網絡就顯示“有網絡”,如果沒有網絡顯示“沒有網絡”.

第一給button綁定點擊事件代碼如下:

新建一個類 :OnClickNetWerk.java

 1 package com.example.gprs;
 2 
 3 import android.app.Activity;
 4 import android.content.Context;
 5 import android.net.ConnectivityManager;
 6 import android.net.NetworkInfo;
 7 import android.view.View;
 8 import android.view.View.OnClickListener;
 9 import android.widget.TextView;
10 import android.widget.Toast;
11 
12 public class OnClickNetWerk implements OnClickListener{
13     private Context context ;
14     private TextView textView ;
15     private ConnectivityManager cm ;
16     public OnClickNetWerk(Context context){
17         this.context = context;
18     }
19     
20     @Override
21     public void onClick(View v) {
22         Activity act = (Activity) context;
23         textView = (TextView) act.findViewById(R.id.textView1);
24         
25         int color ; //存放顏色
26         String text ; //存放顯示的內容
27         
28         NetworkInfo netIntfo = null;
29         try {
30             cm = (ConnectivityManager) act.getSystemService(act.CONNECTIVITY_SERVICE);
31             netIntfo =  cm.getActiveNetworkInfo();
32         } catch (Exception e) {
33             //異常處理 
34             Toast.makeText(act, "沒有網絡權限,請給予相關權限", Toast.LENGTH_LONG).show();
35         }
36         
37         if(netIntfo==null){
38             //如果沒有網絡 顯示不正常
39             text = act.getResources().getString(R.string.netWerk_1);
40             color = act.getResources().getColor(R.color.palegreen);
41             
42         }else{
43             //如果沒有網絡 顯示不正常
44             text = act.getResources().getString(R.string.netWerk_0);
45             color = act.getResources().getColor(R.color.beige);
46             
47         }
48         //設置文本
49         textView.setText(text);
50         //設置背景顏色
51         textView.setBackgroundColor(color);
52         
53         
54         
55     }
56 
57 }

 注:

  1.最好給如下代碼加入異常處理,預防出現權限的報錯,把整個程序終止了。

 

  
cm=(ConnectivityManager)act.getSystemService(act.CONNECTIVITY_SERVICE);
    netIntfo =  cm.getActiveNetworkInfo();

  2.給程序加入相關的網絡權限(AndroidManifest.xml)

  

  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

  

第二:在MainActivity.java

  代碼如下:

package com.example.gprs;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;


public class MainActivity extends Activity {
    private Button but ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        but =  (Button) this.findViewById(R.id.isGprs);
        but.setOnClickListener( new OnClickNetWerk(this));
        
    }
            
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM