android判断程序是否连接网络


> 判断程序是否连接网络还需要在XML中添加数据
>   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>

1./** 
2. * 检测网络是否连接 
3.     * @return 
4.     */  
5.    private boolean checkNetworkState() {  
6.        boolean flag = false;  
7.        //获取连接管理实例 
8.        ConnectivityManager manager= (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
9.        //获取当前网络状态
10.       NetworkInfo info = manager.getActiveNetworkInfo();
9.        //去进行判断网络是否连接   
13.        if (info != null && info.isAvailable()) {  
14.              isNetworkAvailable();  
15.        } else {  
16.             setNetwork();
17.        }  
18.  
19.        return flag;  
20.    }  
21.      
22.  
23.    /** 
24.     * 网络未连接时,调用设置方法 
25.     */  
26.    private void setNetwork(){  
27.        Toast.makeText(this, "wifi is closed!", Toast.LENGTH_SHORT).show();  
28.          
29.        AlertDialog.Builder builder = new AlertDialog.Builder(this);  
30.        builder.setIcon(R.drawable.ic_launcher);  
31.        builder.setTitle("网络提示信息");  
32.        builder.setMessage("网络不可用,如果继续,请先设置网络!");  
33.        builder.setPositiveButton("设置", new OnClickListener() {  
34.            @Override  
35.            public void onClick(DialogInterface dialog, int which) {  
36.                Intent intent = null;  
37.                /** 
38.                 * 判断手机系统的版本!如果API大于10 就是3.0+ 
39.                 * 因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同 
40.                 */  
41.                if (android.os.Build.VERSION.SDK_INT > 10) {  
42.                    intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);  
43.                } else {  
44.                    intent = new Intent();  
45.                    ComponentName component = new ComponentName(  
46.                            "com.android.settings",  
47.                            "com.android.settings.WirelessSettings");  
48.                    intent.setComponent(component);  
49.                    intent.setAction("android.intent.action.VIEW");  
50.                }  
51.                startActivity(intent);  
52.            }  
53.        });  
54.  
55.        builder.setNegativeButton("不开启", new OnClickListener() {  
56.            @Override  
57.            public void onClick(DialogInterface dialog, int which) {  
58.                 dialog.dismiss(); 
59.            }  
60.        });  
61.        builder.create();  
62.        builder.show();  
63.    }  
64.      
65.    /** 
66.     * 网络已经连接,然后去判断是wifi连接还是GPRS连接 
67.     * 设置一些自己的逻辑调用 
68.     */  
69.    private void isNetworkAvailable(){  
70.          
71.        State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
72.        State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
73.        if(gprs == State.CONNECTED || gprs == State.CONNECTING){  
74.            Toast.makeText(this, "wifi is open! gprs", Toast.LENGTH_SHORT).show();  
75.        }  
76.        //判断为wifi状态下才加载广告,如果是GPRS手机网络则不加载!  
77.        if(wifi == State.CONNECTED || wifi == State.CONNECTING){  
78.            Toast.makeText(this, "wifi is open! wifi", Toast.LENGTH_SHORT).show();  
79.            loadAdmob();  
80.        }  
81.          
82.    }  
83.      
84.    /** 
85.     * 在wifi状态下 加载admob广告 
86.     */  
87.    private void loadAdmob(){  
88.        ll = (LinearLayout) findViewById(R.id.load_ads);  
89.        ll.removeAllViews();  
90.        adsView = new AdView(this, AdSize.BANNER, "a15194a1ac9505d");  
91.        ll.addView(adsView);  
92.      
93.        adsView.loadAd(new AdRequest());  
94.    }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值