Andriod开发 网络状态改变监听(这样说可能不太合理)
来源:互联网 发布:java就业指导 编辑:程序博客网 时间:2024/06/06 19:04
博主是个新手,也是第一次写,百度了很多相关资料,实现了APP中网络状态改变的监听。
话不多说,翠花(大名:HIM)上代码啊。
首先,写下需要用到的权限。
<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
再来看布局中的代码。
其实布局可以不写的,但是为了在页面上显示出网络的状态,博主还是写了(啰嗦 -_-|)。。。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv" android:layout_width="fill_parent" android:layout_height="50dp" android:text="监听中···" android:textSize="25sp" android:gravity="center" android:background="#C7EDCC" /></RelativeLayout>
然后来看MainActivity中的代码。
package com.him.NetStateListener_BroadcastReceiver;public class MainActivity extends Activity { private TextView tv; private BroadcastReceiver connectionReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //找到控件 tv = (TextView) findViewById(R.id.tv); //实例化广播 connectionReceiver = new BroadcastReceiver(){ @Override public void onReceive(Context context, Intent intent) { getNetWorkState();//调用获取网络状态的方法 } };// 注册Receiver IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(connectionReceiver, intentFilter); } private void getNetWorkState() { if(this != null){ ConnectivityManager mConnectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); //先判断有没有网络 if(mNetworkInfo != null){//有网络 Log.i("net", "有网络连接....."); int netType = mNetworkInfo.getType();//获取网络类型 int netSubtype = mNetworkInfo.getSubtype(); if(netType == mConnectivityManager.TYPE_WIFI){//WIFI Log.i("net", "WIFI....");//type = 1 tv.setText("有网络连接····WIFI"); } if (netType == ConnectivityManager.TYPE_MOBILE ) {//MOBILE Log.i("TAG","移动数据连接.....");//type = 0 tv.setText("有网络连接····GPRS"); } if(mNetworkInfo.isAvailable()){//判断网络是否可用 Log.i("TAG",""+mNetworkInfo.getType()); } }else{//无网络 Log.i("net", "无网络连接....."); tv.setText("无网络连接····"); } } } @Override protected void onDestroy() { super.onDestroy();// 注销广播 if (connectionReceiver != null) { unregisterReceiver(connectionReceiver); } }}
内容简陋,大神勿喷(双手合十)。
0 0
- Andriod开发 网络状态改变监听(这样说可能不太合理)
- 监听网络状态改变
- 监听网络状态的改变
- 监听网络状态的改变
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- 安卓监听网络状态改变
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- android开发框架(四)监听网络连接状态
- 关于网络状态改变监听广播的使用(android不同系统版本会有不同)
- android监听手机网络连接状态改变的后台服务
- Android学习之 监听网络连接状态的改变
- android网络监听状态改变收到2个广播处理
- Java静态内部类的作用
- TCP沾包解包(2)
- hibernate4导致的Ajax请求死在那里
- 如何在Amazon EC2 Linux(Redhat)实例上搭建JDK,Tomcat环境
- Java代理之(jdk静态代理/jdk动态代理/cglib动态代理/aop/aspectj)
- Andriod开发 网络状态改变监听(这样说可能不太合理)
- 350. Intersection of Two Arrays II
- IBM appscan 9.0破解版分享
- tomat(16)关闭钩子
- Javascript框架思想
- gulp入门
- try..catch...finally与return的调用顺序
- java实现FTP的上传及下载
- excel csv 快速拆分