Android通过广播判断网络连接(仿QQ网络连接显示)
16lz
2021-01-23
效果图:
1、activity.xml布局
<?xml version="1.0" encoding="utf-8"?>
这里就简单的示例了一个textview提示
2、MainActivity.java
public class MainActivity extends AppCompatActivity { private IntentFilter filter; private Broad broad; public TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv= (TextView) findViewById(R.id.tv); filter =new IntentFilter(); broad=new Broad(); filter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); registerReceiver(broad,filter); tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //点击提示文字时跳转设置界面 Intent intent = new Intent(Settings.ACTION_SETTINGS); startActivity(intent); } }); } //广播接收器 class Broad extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo(); //判断网络状态 if(networkInfo!=null&&networkInfo.isAvailable()){ Log.i("TAG","网络状态"+networkInfo.isAvailable()); tv.setVisibility(View.GONE); }else{ tv.setVisibility(View.VISIBLE); } } } //注册取消 @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(broad); }}
3、添加网络权限
更多相关文章
- Android 检查是否有网络
- Android的标题栏(状态栏)
- android 禁用屏蔽系统状态栏(statusbar) 转
- Android网络技术
- android中去掉标题栏和状态栏,实现全屏
- Android快速开发框架之xUtils---网络模块
- Android使用HttpURLConnection请求网络返回JSON数据并解析
- ListView中item点击事件、item保持选中状态以及其他细节